Jack simply has too much baggage, so Tali is the only other option, and she’s a very good one. But, when I try to think of it as Shepard, I think Miranda makes more sense on a number of levels. Tali loves her people, and being with Shepard would preclude her from spending a lot of time with them. She is also brilliant and would likely be happiest in a lab as a researcher. Then there is the issue of the suit and risk of infection.
Miranda has no family save her sister. She is a soldier, like Shepard. I also view them as being more on the same level, whatever that means, but I think you get what I’m saying. They are good for each other, can push each other, and potentially pull each other’s ass out of the fire. It makes more sense to me, whereas I view Tali’s feelings as being more like a crush. Tali can move on, find someone else, and be happy doing research on the flotilla. What’s Miranda going to do? Shepard is the only man in the galaxy she admires, she loves him, wants to fight the same enemy as him, is every bit as capable as him, and basically has no place else to be, no direction. Yes, I have thought about this entirely too much, it’s kinda weird. It was a very difficult decision for me, but in the end, it felt right.