I do often find simple health scaling to be "cheap" but at the same time it is not without merit. Changing AI behaviours or tightening reaction times/windows tends to be the superior method but also far more annoying.
Find the health of the boss in RAM as per conventional infinite health cheat finding.
From there you could try tracing it back to the ROM (make a savestate just before the boss room, standard tracing from there).
Hopefully it is not at max health for the variable size and you can just write a bigger number there, however you could probably create an "energy tank" like process (if boss health is low then refill and set "energy tank" value you create to 0 so it does not refill next time).
In many cases bosses are the same as enemies so you could probably do something like if enemy = boss value then reduce potency of your weapons, or maybe a 50/50 hit chance.