I popped to the shop the other night at 11.30, on the way back two pissed up men were walking in the opposite direction and started on some catcalling bollocks as they approached me, at which point I stuck my arm out and said VERY LOUDLY, 'THANK YOU FOR KEEPING A RESPECTABLE DISTANCE' whilst still sticking my arm out.
That shut the fuckers up, they actually got quite sheepish and apologised.
I ignored them and strode on.
Call the fuckers out EVERY time they do it. Don't let them do it, I felt a hand on my arse on the tube once, grabbed it, held it up in the air and said VERY LOUDLY AGAIN, 'I think this belongs to someone, I just found it on my arse', of course, everyone shrunk away from me because, mad woman, I let him go immediately and he slunk off at the next stop.
Call them out, don't let them do it. When faced down, they disappear like the pathetic cowards they are. And possibly will think twice next time.
Obviously it's not your job to stop men being dicks, that was their father's job, and he clearly couldn't do it - I don't mind taking on the fathering role for them