The problem with guaranteed contracts is - you can't get rid of them. So basically any manager not really home with "what his incomes can handle" is at a big risk of being bankrupt at the end of a season (or sooner). With BB's training system, more than one season contracts are not reasonable anyway. You can't predict the teams training plan and it might change drastically with occuring injury.
How many teams have money at the start of the next season to hand out signing bonuses. I know big country teams are sitting on low cash. If they can't unload some of their players for cash (with contracts), where should the money come to sign any players at the start of the season? This would make tanking even more powerful. As teams who have been playing near salary cap, can not sign anyone at the start of the next season.
With valueing contracts by "what the player feels is best for him" is wandering into a really gray area. That's why BB has salarys based on skills. Want that player -> pay that salary. There are no Payton's, Malone's etc to agree to a low salary to get a championship.
Contracts would also kill the TL completely. There is only offseason for contracts and really no point in looking at the TL. If the TL is active with that system, then a lot of teams are going bankrupt -> a lot of players leaving. I don't think anyone wants that. If everyone is good at managing contracts, there is no activity and the next time you get some exitement is next offseason. Pretty boring imo. There are restrictions to daytraders currently and I don't think it is easy atm. If a manager can make profit on the TL, then by all means, let him get it. Knowing the TL and prices needs a lot of browsing work and free time. Eventually the daytraders get tired and most of them quit. Some start proposing ideas in the forums to limit it even more (as they are tired of doing it themselves). I used to oppose daytrading strongly when I started the game. I have realised that it's ment to be part of the game by BB's. Currently it seems hard enough to not be a problem.