Here's the changes I am proposing:
Releasing players
Any released player signed for less than $1m will not count against the cap. Any released player signed for $1m+ still has his contract count against the cap. The released contract will count for 3 years at the most. So any released contracts over 4 years long only count for 3 years. If the released player is signed by another team the original team will receive a 50% reduction to the players cap hit (years stay the same). If the original team bids on the released player he is still responsible for the original contract (no reduction) in addition to the new contract. Any player released under a prospect contract will not cause a hit to the cap.
Longterm Injured Reserve
Each team will have one Longterm IR slot. Any player on LITR does not count against their teams cap.
Retired Players
All contracts for players who retire from the NHL are considered null and void.
I think these changes give everyone the flexibility they need. After thinking it over a bit I'm not a fan of giving free drops or yearly reductions. Some teams are in better shape than others financially, but these are the teams we all picked. Part of the fun is digging a franchise out of the hole, in some cases. Making it too cheap to drop contracts will water down the league I think.