Garden leave is a different beast and seems fair, you and the employer each get something, non competes on the other hand do not usually offer anything to the employee.
It does make the company put skin in the game but if they decide to enforce anyway, it's better than nothing but hardly a panacea.