I see this topic is active just as I'm coming to the end of my second (evil/durge) playthrough, and I've just completed two rather different character stories.
Shadowheart
Having done nothing to persuade her against Shar, and not wanting to lose her from the party, I let her kill Nightsong and become a Dark Justiciar. Now, I feel like I'm not changing my opinion of her but seeing a very different side of her. In my previous game, she turned to Selûne, and she and my character Myrna became good friends, which felt really good. There's much less connection between her and my new character Bernik, who's just interested in his own power. So I'd say I like this iteration of her a lot less than the last one. We've only just got out of the House of Grief, so her story isn't quite over.
Astarion
Last time round, he annoyed me a lot by disapproving every time I wasn't mean to someone. The moment my character snapped was when he laughed at her for promising to Hettie that she'd kill herself rather than become a mindflayer, at which point she ordered him straight back to camp. That very night she woke up to him leaning over her, fangs bared, and I absolutely stand by her quick decision to try to stake him.
But I later read that people think very highly of Astarion as a character, so I kept him in my second game. In fact, I never even got him attempting to drain my player character - I think Astarion revealed he was a vampire because he liked Bernik enough. It's been great working through his outer layer of snark to find his personal needs, and Cazador's Palace was brilliant (much better than just a band of heroes breaking in to slay the vampire lord). I think I missed a lot of the plot with the other spawn trying to capture Astarion: we walked up to the two spawn in Faygo's Flophouse and they just disappeared, and nobody came to the camp which I read is supposed to happen. I just took Astarion's directions to the front door of the palace. The "this is the place where terrible things were done to me" speech was pretty good, I liked his argument with the skeleton downstairs; but the conversations with Sebastian and Cazador are some of my new favourites in the game.
We killed several of the other spawn before freeing Astarion to stop Cazador ascending (kind of a shame you can't free them too), so he just joined my party to finish the fight without trying to ascend himself. It is disappointing that the dialogue after you leave the palace assumes that you had to talk him down from ascending, even though he never tried to do it.
I wouldn't force him into a good party if he acted against their interests like in my first game, but I'm absolutely glad I played his story in the second game.