Attempt #6 and #7 today, I had the dragon down to about 20% health, only problem was that Astarte usually takes a lot of damage, even though I have three skeletons that I try to use for the mobs. This time. #6 the dragon ignored me, and my mobs and simply put Astarte out of her misery in one big multiple series of flame breath/poison breath/void breath repeat (seems like he can do 6 or 7 breaths at most) and I went "wtf". Just so damned frustrating.
Attempt #7 worked well, I had the dragon knocked down for two turns, unfortunately one of the NPC:s got some lucky hits in on Astarte, and she died from NPC:s this time. This fight with Astarte safely tucked away in a baby stroller where she belongs would be no problem at all. The only reason it won't work is because of Astarte. And for some damn reason I can't teleport her away either. It's like she's a retarded paralyzed monkey that in spite of taking heaps of damage casts these completely useless +3 Constitution-spells to mock me. I swear, she is working together with the Void Dragon, they're in cahoots, her real mission is to commit suicide and welcome the void, but just before she needs to troll me some more.
It is a pain in the ass of a fight and I can understand your frustration.
Try to keep your party members around Astarte in a circle. You're going to have to cast healing spells at her when her health drops to 50% at least.
Keep your party away from the dragon. He'll waste them easily. I'd just park them around Astarte and throw "Soulsap," "Drain Willpower," "Ice Shards" and stun/knockdown when that works. The first two are really effective at weakening him.
Most importantly: any time you stun/knockdown/freeze him I would suggest immediately saving by f5 so that if he does rebound and you need to start over you can from your last success.
Use summons to occupy the time of his npcs. "Charm" his spiders as they are susceptible. But also always keep one of your summons near the dragon and I found Bloodswarm was really the most effective. It rarely missed him or it hit him at least once out of three attempts per turn!