I think it would be hard to code, Hotshot, because of exactly what you said.
Say I have a permafrost shield out. I AM a 5/5 creature on your side of the field.
After a change that makes your -5/5 creature act like normal, I imagine this happens:
Creature attacks.
Shield check: effect, -2 damage, chance to freeze
Damage reduction: -5-2=-7
Freeze: yes/no
Attack ends.
Reducing a negative number is actually a larger negative number, or more healing. An extra check might be easy to add (no idea about programming), but I would question what sort of priority something like this would get, with easier solutions to be had if it is OP, and there is no need to change it if not.