Sorry if someone already wrote this but i didn't have the time to read all posts.
Maybe we could do it like this, you buy a player and if you want to sell him the same day you have to pay him compensation (say 3xtimes salary) if you hold him for a week you have to compensate less. And after a month or so he doesn't need any compensations then it's just the transfer fee. Compensation is for him to travel to a new club (different country maybe, tell his family or even move etc :P)
This was just idea out of the blue and i ahven't thought about it no longer than 3 minutes :P