I think the first thing that needs to be done is to no longer allow players on LTIR to be traded. That by itself doesn't solve the whole problem, but IMO it's one of the biggest mechanisms used to get around the cap and it makes zero sense for it to be allowed. There's no valid reason for a player on LTIR to be tradeable other than to pull off some cap shenanigans so simply don't allow it. The player should have to get healthy and be eligible to play before they can be moved. At the very least, if they must allow LTIR contracts to be traded then allow it but don't allow the team taking on the contract to apply the LTIR overage until they've activated the player. The main thing is to stop teams from taking on LTIR contracts just to use the extra space it can afford.
I think the "spirit" of the LTIR rule is to allow teams to spend to the cap in the event of a significant injury. If a star player making $8m gets hurt for a long time then that team shouldn't be further penalized by icing a roster $8m under the cap. LTIR allows you to essentially recoup that lost cap space. Allowing a team to take on that contract after the injury and reap the benefits seems completely antithetical to the spirit of the rule to me. In that case it's not "bad luck protection" for the team that owns that contract, it's just a way for them to create extra space that they never had allocated to the player in the first place.
I suppose the best way to address this from a "fairness" standpoint is to still enforce the cap in the playoffs such that if said $8m player gets healthy mid-playoffs you don't get to just activate them and play them with the guys who were acquired to replace them. In theory you might still be able to do that if you have enough expensive pieces that you can sit, but maybe a way around that is to still enforce roster limits and waivers during the playoffs along with enforcing the cap.