I sincerely hope enough people refuse to sign those that it becomes a problem for companies.
When I go into an employment, I'm agreeing to rent a certain number of hours of my skills to the company's benefit. I'm not agreeing to give the company any kind of control of what I do or don't do outside of those hours. Mind you, I'm not saying I would _never_ sign such a clause, but that would be a lot more expensive. I would probably agree to it if I could work 3-5 years and retire comfortably.