They're a bandage for the labor market having a surpless of supply and insufficient mobility.
Both of those the government could fix. Surpless of supply can be solved by carefully regulating immigration and encouraging emmigration. Insufficient mobility is harder to fix, but requiring employers to not employ the same person for more than 200 days per year could force people to try out for other jobs. If everyone had two jobs, they could scale up and down the number of hours at each job to get the best pay/conditions. That's far better than collective bargaining.
Long term employment contracts, and benefits based on tenure should be banned too. That's just employers trying to reduce mobility.
I'd quite like to see daily labor auctions. Where the employer "bids" for how much they're willing to pay today, and employees select where they'll go to work (or stay home) based on today's bids. Christmas day would suddenly get very expensive.
Some types of employment require specific knowledge or training. In those cases, the employer shall have to provide a list of people who have said training, and the list should have to be significantly larger than the number of people working at that place on any given day to ensure the "training" requirement doesn't prevent mobility.