Why do I need to spend 6 months without pay and then more time with only 50%?
It incentivize companies to add it to their contract just because it makes it harder for employees to quit bad working conditions and low pays since they might not land a new job and be able to pay rent. It doesn't protect any sort of intellectual property, it's simply there to screw over the little guy.
The word "compromise" usually implies that both sides are getting something. What part of this would be a compromise?
It has happened although it's probably a "man bites dog" sort of thing that made it into the news.
I'm not sure it's good policy in general to discourage people from working--especially in the area they presumably have some expertise in.
Back when it was allowed, some companies would pay in fake company money called "scrip" that you could only use in their company store to buy food. They also owned the houses so you could only rent if you were an employee. Wanna quit your job? Good luck also losing your house and not having actual money to go anywhere else.
You gotta understand that if you have something that can be abused for profits, then it will be abused for profit. Even if a company is has a heart of gold and decides not to do this, they will be out-competed by companies who are willing to do evil things and thus be more profitable. Abuse will happen by logical necessity.
Not everybody wants/can move to a cheaper place.
Finally, as mentioned in any messages here, engineers are not the ones suffering the most from unfair non-compete. It's retail/restauration workers and more "vulnerable" demographics.
Your "compromise" comes out as completely disconnected from reality.