Lol, balancing is always a pain in the ass xD.
I have like 12 unique boss battles in my map, and i've found that you should first try to find the unit weaknesses , (e.g. is stun rigged or something), cover that, test, and check for new weaknesses that appear (e.g. the boss' ability damage or casting time is rigged), and rinse and repeat until its good. Then when you make new bosses, base the same general stats on that (Hp, attack, armor), and tweak about to make each of them unique (e.g. sacrificing some Hp on the boss but increasing its attack).
A lot of rinse and repeat and re-test, but it does work, and it pays off in the end.