Free agents earnings potential is barely considered when players decide whether to test the market. This leads to some pretty horrendous decisions, like the superstar who takes a 5/$40M deal in his arb seasons instead of holding out for 5/$75 as a free agent. This leads to too little turnover of talent signed at bargain prices. This is both unrealistic and bad for teams trying to rebuild against the world juggernauts.
How about fair pricing by using offer sheets along the lines of the NBA or NHL. Have a day right after budget day where all 32 teams can make a binding bid for every free agent or arb elibible player above the players salary demands. This is basically what happens when a player decides whether to accept arb. On the same day, have the players team decide whether to make a qualifying offer of their departing players demands. Then on the first day of free agency, let each owner decide whether to match the offer if such an offer emerges. All offers and offer matches must conform to budget limits of course.
Let the open market decide the real cost of signing talent.