I've been ruminating over the salary cap debate and the MLB labor wars in general as I'm reading Brad Snyder's excellent book on Curt Flood's fight to end the (in my view unfair and exploitative) reserve system in baseball, "A Well-Paid Slave," and I think I've figured out what I think would be the fairest way to compensate players.
First, players would be paid by the league, not their team. A fair share of the league's overall income (something on the order of 55% would be typical for pro sports leagues, although personally I would argue that the players are entitled to at least two-thirds of the value of their labors) would be automatically dedicated to player salaries. If league revenues rise, then the overall pool for player salaries would rise too; similar, if the league struggles, players overall take a pay cut. You have an independent accounting firm crunch the numbers and there's never any negotiating to do at all. This would ensure both that the players are getting a fair share of the league revenue (and not more) while also eliminating the competitive imbalances once and for all.
Then, players would be paid annually based on their performance. There would be some base salary that every player would get (currently it's a little under $400k, which seems probably in the ballpark), and then players would get assigned a "value rating" based on their performance. You play better, you get a bigger check at the end of the year. It's that simple.
In today's era of statistical analysis, there are very good metrics that would provide accurate, fair, reliable measure of player value. For hitters you could simply do wOBA x PA. For pitchers you could do tRA* or FIP x innings, and maybe add a leverage value. Or WPA for relievers. Or you could just use VORP for everyone. Fielding is probably the one area where the stats still are pretty hit-or-miss, but you could negotiate a system based on Dewan's plus-minus, Rate2, UZR, and/or PMR that would be reasonably fair to all. You could build in some additional bonuses for team record as well.
Let's not debate which stats are best or even the validity of statistical analysis in general--the union and management would just have to agree on something. It doesn't really matter, as long as everyone's reasonably satisfied that an objective system for player valuation exists. And if these people are satisfied with Elias's free agent types, then their expectations for reliable player valuation ain't so hard to meet.
Once you have your value rating set, paying salaries is just a matter of doing the math and divvying up the earnings at season's end. No one's ever underpaid or overpaid. If you are a rookie and play great, you get a big paycheck. If you're an aging vet and crater, you don't. All the inefficiencies in the system are wiped out in one fell swoop, and the perverse incentive to drive profits by fielding cheap and inexperienced teams is done away with.
All that's left for GMs is to evaluate players well, and all that players have to do is play well.
This might seem totally foreign, but it's actually pretty similar to golf or tennis, where if you win the tournament you get a big cash prize. Only team sports have this system where you determine a player's salary up front, which is really a relic of the days when players had virtually no say in their salaries at all.
So that's my proposal. Tell me why it's dumb.