How about this:
A hard cap, guaranteed salaries, but every two years the team can dump one salary and not have it count against the cap (what Aldrige proposed). The catch is, if the player is paid 14 million per year, is cut by the team, he gets that 14 million UNTIL he signs with another team. Then the contract with the original team is voided, and the new team's contract comes into effect. That is fair. That way you can't pull an AK, sign a 17 million dollar contract, not be worth it, be cut, sign a 5 million dollar contract and make 23 million dollars. It isn't fair that you didn't live up to your contract to the original team AND you get paid AND you get to help a rival team.
That allows guaranteed salaries, a way to get out from under a bad contract, and if AK wants his 17 million over 5 million, he has to sit out the length of his contract to get it. See, this is easy.
Which means that there's a talent drain in the league. If the Jazz had cut AK in year three of his seven year deal for example he would have to sit out FIVE years to get his money.
Sorry dude, any "solution" that leads to a significant number of starting-quality NBA players sitting out multiple years is not good for the health of the league.