It is and should be illegal to fire an otherwise good employee because of their gender, race, religious beliefs or non performance affecting disabilities. While you have at will termination, you can't really protect against that fairly.
If a company shows a pattern of always firing people when it learns they are Muslim, you could draw some conclusions, but yes, this would be hard to prove, particularly for small employers.
The second is that when employees have a reasonable certainty that if they perform well they will have a job tomorrow, they are more likely to retain consumer confidence and put money back into the economy.
OK, but if companies have a reasonable certainty that if they hire someone, then later realize that they suck, it will be a huge hassle to fire them, maybe they just won't hire them in the first place, which hurts the economy.
I just heard a story on the radio about how hard it is to find a place to live in Paris. The reason? Tenant protection laws make it nearly impossible to evict someone. So landlords set ridiculous requirements for their renters, preferring to have an empty apartment than to have a deadbeat they can't evict. Some tenant protection is probably good (I want to have it, personally), but it's an example of how laws that sound good have unintended consequences for the people they aim to protect.
There's already a natural incentive for employers to keep GOOD employees. If Microsoft fires its best people when times get tough, Google or Apple will hire them and Microsoft will get out-competed as punishment for their shortsighted actions.
To a certain extent it also protects companies too. Your boss may or may not represent the best interests of the company he or she works for. The fact that they personally hate you might have nothing to do with your performance or value to the company.
So you're protecting companies against their own incompetent promotion practices? Again, if a company chooses bad managers, their profits will suffer. And red tape might not help anyway. If a manager hates you personally and wants to get rid of you, he/she can nitpick your performance and create a sufficient number of complaints, or else make you miserable while you try to ensure you're never 1 minute late, use your TPS report covers, etc, in order to avoid having enough marks to be legally fired. You can't make a bad manager good by passing laws.
I know, in the real world, there are lots of examples of bad managers, but there are also lots of examples of regulations that hurt good businesses. Given that nothing will be perfect, it seems that a simpler system is better.
I'm not saying all regulation is bad, but generally speaking, natural motivations are better than artificially imposed ones, because rules create unintended side effects and gaming of the system.