OK hear me out.
I too thought there were some scenarios where a team could take "advantage " of a team with a player with long term and high cap and make a move to "relieve " them of that liability. Its not impossible. Chicago did it with Bickell. Detroit did it with Datsyuk etc.
The real catch here is finding a balance between the deal being good enough for the team trying to get rid of the player and not too expensive that the team would be better off just buying the player out. 10 years ago, it was a lot harder to just get rid of a contract. Now? Look at Chicago with Hossa. Look at NJ with Kovalchuk. Look at Toronto with Lupul and all the "Robidas island" misfits. Look at Lecavalier's contract with TB or Girardi's with NYR.
The point I'm getting at is that if someone has a player they don't want anymore/wants to retire/whatever reason, There are a plethora of ways to make that contract either disappear or get minimized to the point of it not being a nuisance.
-Absolute last resort is a regular buyout. Kieth for example wouldn't be a fun buyout but if push came to shove, the buyout penalty would be workable.
https://www.capfriendly.com/buyout_calculator/duncan-keith
-In the coming years there will be another labor dispute in which amnesty buyouts will more than likely be given. Giving Chicago the option to buyout the contract without a cap penalty.
-Keith's actual salary in the latter period of his contract is low so a team needing to get additional cap while not actually needing to pay the player that salary would want a contract like that.
Those are just 3 ways that with a bit of patience, Chicago could get rid of Keith without retaining on the contract or trading him for a return that won't help either.
Then there is the fact that although Keith is fading, he is still a decent dman! Unless you have a plethora of D prospects ready to take his place and a ton of better options in free agency, whats the rush? Its not like Keith is making a silly amount of money. Alzner makes 4.6M for another 5 years and is younger. I'd trade Alzner for Keith any day of the week even with the age gap! I wouldn't trade Weber for anything people are mentioning on here. He's still a top pairing dman and can play at a high level for a while still. I don't know what Habs games people were watching but Weber was night in night out the Habs most consistent player. I do believe he'll be able to stay relevant for a while. Maybe not top pairing elite but top 4 at the least. Which is good enough in the latter part of his contract.
I've come to the conclusion that any time you trade a "cap dump" away, it has to be for a pretty insignificant return. People talking of 1sts an what not are crazy. It'll never be worth it. In the case you mention above, what does Chicago gain from this move? They retain 2.5M on the next 5 years. They take on Oprik for another year @ 5.5M to get 3rd, 4th and 7th? Is that really worth it? Isn't keeping Keith until a better option comes along not better than a 3rd, 4th and a 7th and 2.5M in dead cap? Same ideology goes for the Weber trade. Are the Habs better off with Oshie's very long contract at 5.7M plus another 3.7M on top of that? For what to get a 2nd 5th and 6th? I'd rather roll the dice with Weber and if he becomes a complete mess, just buy him out at the next lockout with an amnesty buyout, etc.
I mean even though its a long shot, there is always the possibility of a guy like Keith finding his game again. He's only 34 years old. Andrei Markov was one of the Habs best dman these past years and he was 38 when he didn't resign with the habs.
Any team that panics and trades a big name player like Weber or Keith with retention for a small return will regret it almost instantly.