HP is probably more a function of the enemy type so you would have to edit that, annoying but nothing major.
I don't know the reasoning for the encounter numbers. If it was memory then that could get fun to work around (you would also have to sort it and without the benefit of the game's source code), however if it was a gameplay thing then you could probably expand the enemies to fill the available battle
slots easily enough.
I looked up some footage of both versions and the DS seems limited to two enemies where the NES I saw at enemy groups of 6 at times.
If it is memory as you say then that scares me a bit, what might then be an alternative in those cases is back to back battles. I should probably go see if any bosses have multiple forms as that would be something to look at first, however end of battle/last enemy dead already has something happen for it so it would not be too hard to set a flag* and trigger another random battle from the area.
*assuming you don't want infinite battles back to back you want a way for the game to break out of battles without running. It would then check the flag and if it sees it then the battle would end properly, or you could add a random element and maybe have another encounter.
The back to back thing would necessarily involve learning some assembly and doing something with it, however it would make a fantastic learning project. If it was upping numbers to fill slots then it would probably be doable in the end without much knowledge about what you are actually doing but getting to that point would take some fiddling on someone's part.