I played a soccer manager games once. It was not an online game, but you could play multiplayer.
in that game, in order to buy a new player you had to offer him a contract. The contract said how many seasons you would play him, how much wage he would receive and how much bonus you offer the player, and the team he played for.
If the contract expired you had a chance to renew his contract, but you had to offer a new wage and new bonus for the player, if it was too low, you would loose him.
players with no renewed contract became free agents.
I think a likewise system could be implemented in here. It would always mean the wage would be bearable by the team, and the highest ranked teams can offer more wage so get the better players. It avoids a division 4 team playing his games on 1 monsterplayer, as the players also take into account their skills to choose which offer the want to take, and a dic 1 player will not sign with a div 4 team for example.
the team selling the player can put his minimum sale price for the player, if a team offers this, or more (teams can't see that price!), then the other factors of the contract are validated by the BB system, and if all values are okay, the transfer is made to the best offer. If not, then everyone is told why the player did not get sold (either the bonus for the owning team was too low, or the wage was to low, or the division was not accepted by the player,...)
I think it's a quite interesting system, and that way eveetyone can offer what he likes to pay for any player he sees...
They are not your friends; they dispise you. I am the only one you can count on. Trust me.