Employees have many legal recourses, and I believe that the laws are becoming more proactive on the matter. If certain employees tolerate being harassed at the workplace, chances are, it's because they don't know their rights.
If you don't like the culture at a company, leave. If you start throwing lawsuits, you will end up either fired or have every one scared to be around you. Nothing raises a red flag for management more than some one screaming about their “rights”.
I have been told that I didn't get a promotion because I don't drink with the guys and go to strip clubs. Is that fair? No. Could I have sued? Maybe, they communicated this to me in an email and I could have raised cain with it.
But that is the way of the world, and I left for a better job. Not always an option, but it is something to keep in mind.