What about limiting the amount of potions we can use in a certain time span?
The Witcher uses an Intoxication system, drinking potions raises the Intoxication level. Stronger potions have a higher Intoxication level. This would limit the amount of potions one could use during a battle.
Spellcasting Bosses could have healing spells, but those would have to have either a high mana cost, so they can't cast it repeatedly or a long casting time, so the PC can try to interupt the spell.(the mana cost/casting time would also have effect on the PC's own healing spells, so the player can't heal himself continously either)
From the developers' point of view giving bosses lower health (even if the rest of the stats like atk, def, weapons and armor are a bit better than the player's ) and a few health potions is a bad idea. First of all it allows the bosses to be slain in a few blows (just like they can currently slay us in a few blows) because the AI misjudged when it needed to take another potion.
Improving the AI seems the only option here. It would be fun to fight an enemy who actually uses health potions, as long as he can't use them indefinetly ofcours.