I totally agree with you. My only counter to that is how do you enforce it? If you are the league and I am one of your team's owners and I overspend and you fine me, and I say, "screw you I'm just not paying," what do you do about it? Revoke my franchise? Suspend my team from playing? I'm an owner who is committed to my market and have deep enough pockets to overspend. I'm hard to come by in this country. You need me.
You say that you will simply not register any contract that will put me over the cap. But that only works with base salaries with absolutely no bonuses in them. Do you also want to enforce that in the offseason? That would be impossible.
I do like the idea of partial guarantee of contracts. I have brought it up myself before (and was ridiculed for it - by some guy from Winnipeg who thinks he's smarter than everyone else) . It will make teams more careful about who they sign and for how much, but it won't stop a team from going over if they want to.
I don't claim to have all the answers but there can be a base salary cap and a range for bonuses. I.e. the cap is 5.2m but with bonuses it's 5.5. similar to the NBA, all things are considered.
I guess that your roster out of training camp needs to fit somewhere within a range, and stay there for the entire season with a hard max that yes, the league enforces with a contract not being registered.
It has to start somewhere, and that's with disclosure. Simply knowing what teams are spending and how they're doing it will lead to more educated discussion on how to improve it.
Forfeiture of games. That hits the players in the pocketbook too. The opposing team still gets their game cheques.
Plus the cancelled games would mean no ticket money, so the offending team will have to compensate the "legal" one for lost gate/concession/parking/souvenir revenue...
Agree with Crash. Can't cancel games. That's your prime source of revenue. It pisses off your broadcaster, your advertisers and also your fans. It also totally gives the league the 'bush' tag. It's the worst thing that you can do. That's why the league did everything in it's power to make up that Edmonton-Toronto game last year. They had to. Cancelling a game is a disaster all around.
Taking away wins will hurt them more than the money. Imagine if that happened more than once per season? That's two guaranteed losses, plus all the penalties they would have to pay to the League and opposing teams. That has playoff implications, players losing their game cheques, etc.