These Are The Days
Oh no! We suck again!!
On the other hand teams made decisions regarding NMCs with no idea that they would later be forced to lose the future of their respective franchises in an expansion draft because of them. It's one thing for teams to lose players because the cap drops or stays stagnant - that was a reasonably foreseen potential outcome. But an expansion draft with such a limited number of players protected combined with forced protection for NMCs is not something that GMs should reasonably have seen coming and should therefore be punished by.
Personally I think the fairest solution to all concerned is to allow players with NMCs to be unprotected and to compensate them if they're drafted. Either a fixed monetary value or a percentage of the player's remaining contract, immediately payable to the player but not counting against the cap. A potential owner who can afford a half-billion dollar expansion fee can afford to give a player with an NMC a few million extra to make up for him having to move.
Either that or allow for more players to be protected.