Don't ever feel bad if someone doesn't like it when you ignore a cat-call or call them on their bad behavior. This isn't about their feelings, it is about your right to move through the world unmolested.
Safety is key, paying attention to the situation and using good judgement will save your skin better than all the martial arts in the world.
When I volunteered at a Women's Center I was trained to deal with situations like these using a three step process: tell them what they did, tell them what they need to do, tell them what you will do next:
"Your comment attempts to reduce me to an object. I need you to leave me alone, no hard feelings." (pause to allow them to process this, if they persist) "I will make a scene (alert the driver, call 911, whatever) if you do not leave me alone."