I actually disagree. Ran is more suitable for Shinichi, in my opinion, because "opposites attract". By that, I mean a relationship between Shinichi and Ran would balance out A LOT better than with the near equals of Shinichi and Shiho. Two brainiacs together would enforce constant clashing with one another (especially between intellects like these two). It's like pairing two very outspoken people together; they wouldn't be compatible (that also goes for pairing two very shy and reserved people, which would be the most quiet and unromantic relationship ever). That is why BALANCE is key. Shinichi and Shiho would almost seem as if they were "competing" with one another rather than "intertwining". Ran, on the other hand, can fulfill all of Shinichi's needs that he himself is not capable of doing (e.g. cooking, cleaning, encouraging, expressing undivided love). I can't imagine Shiho meeting these qualifications that Shinichi needs in his life as much as Ran can.
It's like my parents: My dad is quite conservative (but humorous at some points), very handy when it comes to repairing and fixing, unbelievably intelligent, and is overall a hardworking man. Contrarily, my mother is generous, considerate, quite ditsy when it comes to cleverness, an extraordinary cook, determined when it comes to maintaining the house, and a person that lights up a room with her love. They are almost complete opposites, yet they would undeniably love each other to the ends of the Earth (next year is their 25th anniversary).
I'm not a love guru or anything, but considering how well near opposite personalities can adapt with one another proves to me that Ran is PERFECT SOULMATE for Shinichi.