Tank's solution:
Create a base salary system, where your base salary is determined by years of play.
* first year base - 500k
* second year base - 750k
* third year base - 1m
etc.
then load it up with incentives.
bonus money for each RBI, HR, double, run scored, sac fly, walk
bonus money for fielding pct, number of errors, DPs turned
bonus money for pitchers for each win, save, K, shutout, complete game
bonus money for getting MVP, cy young, ROY, sliver slugger, gold glove
bonus money for getting votes for each of those awards
bonus money for making the all star team
more bonus money for team wins, making the playoffs, advancing in the playoffs, getting into the world series, team era, team winning percentage, etc.
having team incentives can help make sure that players are focused as much on how the team does as how they do personally.
i have no set amount on what the bonus money should be, but that can be negotiated with the players union so that your better players are earning more. it's all performance based and should eliminate silly contracts like albert and hamilton have.