Hi pbbth! I used to have a blog, and I wrote several posts about this once. I still have no idea why guys do it, mainly because every guy I know is too decent for that kind of behavior.
As for the “it’s a compliment” defense, well…I’ve gotten it while dressed up really nice, while wearing a heavy winter coat, while wearing an ugly hotel uniform, you name it. So I don’t agree that I’m being complimented every time–sometimes it has more to do with the quy in question’s horniness than my own physical attractiveness. I may as well be a blow-up doll, the guy just wants a piece of ass. I hate it when they assume that I’m just dying to be with them. Sometimes, I’ll hear a guy shout, “How old are you?” As if, I’ll be like, “Dude, it just so happens I’m over 18, so hey, let’s go do it!” Or, “Do you have a boyfriend?” Because that’s the only thing keeping me from ripping his pants off right now, on the bus.
As for a suggestion, in approaching a pretty woman in a random location: If you’re already talking to her, like in line at the grocery store, pause for a minute, then look at her and say, “You know, I don’t know if you’re seeing anyone right now, but if not, you seem like a really cool person. I’d love to talk to you again sometime, maybe get dinner or coffee, are you interested?” It’s perfect, because it’s not too presumptuous, but you’re letting them know that THIS IS A DATE, they have an out if they want it, and most of all, you’re a decent guy. I hate getting put in the awkward position of, “Well, gee, I have a boyfriend/husband, but maybe you’re not interested in THAT way? Or are you?”