To avoid this bs where stars hold their teams over the coals and force trades, the solution is simple.
If a team loses a tier-1 free agent (need a system for ranking them), then their team will get an extra lotto pick the following year. E.g. instead of 13 teams in the lotto there would be 14.
If I'm a mediocre team about to lose a star, I might prefer losing him ... having a bad year and then having 2 lotto picks to rebuild, to making some terrible deal to bring back a Lamar Odom, Scola, and Martin.