In many scenarios I might disagree, but in this case Kyper is absolutely right. The player couldn't care less about the cap hit. They care about the paycheque. This is the contract from Savard's perspective.
$7M, $7M, $6.5M, $5M
$1.5M, $0.525M, $0.525M
Deals like this should not be allowed, but this one was signed, and approved by the league. There is virtually no chance Marc Savard shows up at the age of 38-39 to earn $525,000 per season. As HP said, he may play the $1.5M year if he's in a good position team and health-wise.
And looking at these numbers brings up a point that I'm not sure anyone's brought up yet (although maybe HL did earlier), which is that the actual cost of Savard is much higher than $4M for the Bruins. They probably don't feel like paying $7 million this year and next, $6.5 the year after, etc., for a player they don't really need. Probably another reason why the price won't be that high to acquire him.
From our perspective, MLSE has a large vault full of gold pressed latinum, so they probably won't care if it's for a player who can help us earn playoff revenues once again. This is one of those examples where MLSE can use their bank account, to their advantage.