Simple fix
Rank the fighters who miss weight as Number 1 at the weight they came in at, if they win.
Edit: Gave this some more thought, and forgive me for saying, this might get somewhere. Its the minimal source of negative reinforcement. Much so similar to when some dog trainers put their dog’s snout in their poo. “See what ya did there? Bad, now I’m gonna frame it so you see remember that this is you.” Of course that hypotherical situation applies to rankings, not the dog poo, unless you have a self conscious pet, then maybe.
Don’t have them move up in their weight class, but there is a shiny new ranking for you, a symbol that you fucked up along the way. Or maybe move them up but have an asterisk that says “Big bugaloo {The Weight of last fight}” then we all win