There's gotta be a compromise somewhere for the next CBA. Here's a proposal:
a.) When a player gets cut, he's due not the balance of his contract, but all salary and likely-to-be-earned incentives for the next 365 days. This money counts against the cap as it would if he were on the roster, but is defrayed by any amount of money the player earns with another team.
b.) No contact may be renegotiated until the last year of its term, and any on August 1st, any player who has not reported to his team is ineligible to play for that season, and will not be paid for the year. This includes rookies, who will re-enter the draft, though their teams will not be compensated.