Perhaps it would exclude complaints about what they do in their job but firing someone for things they do that are unrelated to their job could be protected, like what happened in their personal relationships or what they posted on the internet if it's not part of their work.
Picture someone you really dislike, for some good reason. Now imagine you hired that person before they did whatever, or before you found out. Now you're stuck with them. Now your company is known primarily for what they did and you are losing business.
So basically the way it was with overt racist and sexist hiring before that was illegal? The solution is to suck it up and let the other employees who are too bigoted to cope quit.
That seems to hinge a lot on having a specific and consistent definition of what "related to the job" and "part of their work" means that won't unfairly affect some companies, maybe there is an established legal definition of that somewhere?
The legal system manages to work out vague definitions. Here's an excerpt from New Zealand's employment law regarding unjustifiable dismissal:
"The test is whether the employer’s actions, and how the employer acted, were what a fair and reasonable employer could have done in all the circumstances at the time the dismissal or action occurred."
How's that for specific and consistent! Yet it still provides protection against capricious firing.
Some US states do have laws of that type, though not all of them. In general, the answer to any kind of employer abuse is mostly the same as always: unionize.