The cap rules could definitely be improved, and as such there would be many ways.
Just making contracts non-guaranteed would be one take, and would kill off much of the shenanigans around bad contracts. Not saying it's the best way, just that there's room for improvement.... while keeping the spirit of the cap in place. I'd like to see minor league tweeners and minimum salary NHLers get a bigger share of the pie, myself.
But the cap principle as a whole is what keeps this league interesting and forces some measure of equality, and thus, competitiveness. I mean, if you're a fan of a small market team that keeps on selling off expensive players, and that just can't recover from an asset management mistake, the sport as a whole will lose interest, fast.