Keeping an employee out of the market for even a year is extremely detrimental to that employee's career. Skills atrophy and domain-specific knowledge fades. And past income is not an indicator of actual value or future income.
The idea of simply limiting it to "competitors" is difficult to determine, since it's easy for any company to call anyone a competitor. It would simply allow contracts to exist that would be cost prohibitive for employees to challenge.
If a business wants to prevent high turnover and on-going poaching, then it should be the one bumping up pay to 150% of the previous year, otherwise they're paying below market wages for their industry.