Garrus isn't all bad, he does struggle when it comes to making the sacrifice of group A so group B can live. Also when he tells Victus to save their fleet for the final battle. He keeps it real and if you are a scumbag he doesn't have a problem putting a bullet in their head or if you are like David in Overlord (ME2) he shows him sympathy. To me that is why he is so liked, man has range. I havn't gotten into the comics, games, or movies so can't really speak about batman except he lives by his own code and I can respect that like Garrus would I would like to think.
I think, his non-confrontational attitude is definitely part of it. He's morally ambiguous, and because I tend to play my Shepard that way (while still more paragon than renegade) I think it helps that he doesn't give you crap.
That being said, the bridge between him killing/not killing Sidonis, and the romance conversation was a bit to sudden. When we're on the citadel, he deliberately says "We'll talk about it later.." and when that conversation comes it's sort of a let down. It made me feel that weather or not you chose to let him kill Sidonis didn't matter (yeah, it really freaking didn't) and that bothered me.
I wouldn't have minded a confrontation that once.... or not even a confrontation, but a really raw discussion about how he felt either when you let him kill Sidonis (which would ideally lead you into the romance option a little sooner, and maybe he would express regrets later??) or, if you let sidonis live, you would have to convince him that your path was the emotionally healthy, and in the end, more satisfying choice, a la Zaeed's mission.
If you think about it that mechanic would make more sense given Garrus and Zaeed's similarities.
Maybe the writers originally intended for something like that to happen, and it was just cut because reasons, I don't know.....
TL:DR Garrus lack of direct confrontation isn't necessarily a bad thing, especially when shepard is being **** on by the rest of the galaxy. And romance was sort of disjointed in ME2....