I've played with this idea before, but here's one interesting tweak I like:
Mutually buy-outable contracts. Something like at any time, either party can pay 25% of the remaining total salary and the contract is completely wiped off the books.
For example...
A. Stupid, overzealous owner/GM signs Player X for 5 years, 100 million. After year 1, realizes it's a major mistake. There are 4 years, 80 million remaining, so the team can pay a lump sum of 20 million to Player X, and BOOM. Off the cap. Player X is a free agent; renegotiations possible to reach fair, mutually beneficial agreement. The team saves 60 million overall and have cap flexibility for that year.
B. Player is off his rookie contract and signs 5 year, 20 million dollar extension. Starter ahead of him gets injured, he steps into the lineup, does great. So he's got 4 years, 16 million left. He can pay 4 million to the team to void his contract and become a free agent. May renegotiate with same team to reach fair agreement.
Basically, it seems astonishingly unfair to have the owners be able to get rid of future salary obligations for overpaid players while underpaid players would have to fulfill such obligations. I think some type of the above scenario would help trend the league toward fair-value contracts, and only greatly over/underpaid players would have incentive to void contracts. Helps balance flexibility and crippling contract problems with continuity.