Sure, there are probably lots of ways to solve the problem of competitive balance. The union, however, includes only MLB players. They generally are very protective of their turf (see MiLB player salaries...).
Isn't that how unions normally work?
Note, a person with skills should be able to be go to the employer willing to pay the highest compensation. Why should it be any different than any other business in the United States?
Basically, baseball business model has components of indentured servitude.