I think it's important to consider that Shinichi and Ran, at the core, share similar ideas about life and death. When you love someone, it's important that they at least share the same core principles you're passionate about and I feel that this aspect of the two characters is why they love each other. I posted this a while ago at a different location (it was a video of the scene where Ran saves Haibara from getting shot), but I think it's applicable here. "This is why I really don't get why there are fans that hate Ran, yet love Haibara. I love both characters; even if you ship one with Shinichi and not the other, that's no reason to completely dispose of the other's good traits. Ran has incredibly powerful sense of justice and appreciation for human life, so much so that she's willing to put her life on the line for it . This is something that's reflected in Shinichi's personality as well, and I feel like it's definitely one of the reasons he admires her so much. Although Haibara's character is also very strong and very well-developed, she tends to be a bit more focused on the safety of her and her loved ones and values their lives much more than the lives of other people, meaning that she might be more inclined to let someone she didn't know as well die to ensure the safety of her loved ones. Now, this isn't necessarily a bad thing; after all, you can't always get so wrapped up in the lives of other people because you don't always have the power to protect them and it would end up putting a lot more additional stress on you. Not to mention, perhaps saving a murderer would end up allowing them to kill more people and cause more life to be lost; in that particular circumstance, Haibara's philosophy might be best. In any case, what I mean to say is that Shinichi's perspective on life is just different than Haibara's, which I feel is why Shinichi likes Ran the way he does; considering he's so passionate about his outlook on the value of life, it makes sense that he'd love someone that shares his perspective.
Ran pretty much has to support her alcoholic, deadbeat father while also tending to Conan. Obviously, we know that Conan can handle himself, but it's not like she knows that; anytime he runs off, she always feels the sense of responsibility to find him because he might be in harm's way and she still has to do stuff like tend to him when he's sick and cook meals for him. All the while, she's attending high-school and knows that her best friend since child-hood that she's in love with is gone and has been gone for quite a while and could be potentially in danger. What's more, he really never tells her what's going on, so I could imagine her sense of trust feels heavily crippled, but she's still so loyal to him. Yet, despite all this, she doesn't complain that she has all these responsibilities to deal with and simply continues to try her best to fulfill these responsibilities because she knows they need her. In addition, I notice a lot of fans that hate Ran make the argument that Ran cries about Shinichi way too much, but... honestly, while a lot of the intros/outros seem to give this impression, the actual time spent "missing Shinichi" on average each episode is typically minimal or non-existent. Even when something extremely major happens, like the Desperate Revival arc's ending, she still finds a way to bounce back and try to hide what she's feeling by suggesting for her and Conan to get dessert together to make the best of the situation." So, in terms of who he needs emotionally, I feel like it would be Ran. Despite the fact that she's obviously very upset by his absence, it's not like she doesn't support his interests and way of life; in fact, despite having not seen Shinichi in so long and despite the fact that even Shinichi was trying to avoid the urge to get involved in the case during the Desperate Revival arc, she encourages him to go. They might not be carbon copies of one another, but she still appreciates and supports his passions and interests. They work well off of one another and make up for each other's weaknesses. This isn't to say that he doesn't still need Shiho/Haibara, though; they've become incredibly good friends and Shinichi still needs someone to occasionally oppose him to allow him to more carefully consider his thoughts and actions.... and he needs her for the obvious connection with the Black Organization, but that's already understood. So... I guess my final answer is that, romantically, he needs someone like Ran, but as a whole, he needs them both. So to pit both characters against one another like that is a little unfair since they both provide different channels of things that Shinichi needs in his life.