Career earnings are determined a lot by which MLB team drafts a player. How they develop at the player's position, who else is in the organization, service time manipulations, etc. If you want players to maximize their earnings, aka salary, and lower team profits, the players need to be free agents as quickly as possible. Best of all is to eliminate the draft and make everyone a free agent immediately.