I disagree. At most, we should allow it in limited circumstances where it would be on the company to prove why the non-compete is absolutely necessary. High tech chip manufacturing where the employee has a wealth of trade secrets in their head and taking it to a competitor would be disastrous – maybe. Reading a script at a call center or making a sandwich – hell no.
In this hypothetical, they'd also have the choice not to work at Subway in the first place. But realistically, very few companies (especially fast food restaurants) would want a non-compete if they had to pay for it.
My broader point is that if we say that there may be places that a non compete makes sense, we can both allow that and give workers protections - especially workers with the least leverage to negotiate.