I bet this has been mentioned before, but why don't they just make a cap hit what the player is making THAT YEAR, rather than the average? Sure, for some players it would mean their cap hit fluctuates, but it's not that tough of math for GMs. Plus, most guys have consistent salaries except for the deals that circumvent the cap.
This way would really solve all these BS long contracts, is there a huge downside that I'm missing here?
Frontloading contracts is one of the main tactics GMs use to get players to sign. Take Briere and Pronger, who have frontloaded deals just to name two examples. Their salaries at the end of their deals are minuscule. This would greatly hinder teams' abilities to sign big name FAs.