Pirates: Make them leave when the bounty is gone
Makes sense, makes them balanced
So here's a thought: why not make the amount of time the pirates stay at their target star system correlate to how much money was paid to them? There might need to be some tweaking of the current amount of bounty taken away for damage done (i.e. let them stick around a reasonable amount of time).
If the pirates are just in it for the money this would mean that once the money runs out so do they. If pirates are just too buff why not limit the amount of time they'll spend taking out a player's planet?/fleet If someone wants more damage done they pour more money into the pirates. And, once the pirates are done collecting their money and there's nothing left in it for them they head back home to count up the loot.
If someone wants to apply more of a beating they can pour more money into the pirates. Or, perhaps the pirate fleet travels around to different players' targets, going after those with less bounty on them after the first person has been dealt with.
I personally liked the pirates as they were before being "nerfed" by the recent patch. But this solution would be the best of both worlds: allowing for powerful pirates while at the same time limiting the damage they do.