IME seniority and political patronage is basically how a lot (if not most) companies promote too - under the guise of being purely concerned about objective performance of course.
For example, if you want layoffs performed by merit, you'd need a union board to verify those metrics and agree to them, with the addition of a bonus for those who performed well enough to stay or some stock in the company.
Vendors moving stuff is a bit harder because if they break some shit, the union will be forced to cover them by law despite the fact their people had nothing to do with it. They'd probably relax it if their company paid for insurance that covered anyone and everyone doing work on the premises.
Promotions and raises can again have more company input but the union would want more money for people who are promoted. They choose not to pay it and deal with the system as is.
- Factory layoffs HAD to be done by seniority rather than merit. We knowingly laid off top performers, just because they were newer to the company (due to union contract rules).
- Vendors at a tech conference got in trouble for moving their display tables a few feet because that was supposed to be done by union workers.
- Promotions and raises strongly tied to seniority, less flexibility.