That's weird, Shadowheart gets a high level of approval for me really quickly when I play as a chaotic good sort of character. Approves when I am nice to the boar that Astarion is trying to kill, approves when I save a little girl from a snake, when I resolve situations peacefully, when I invite Scratch to camp (she likes animals, secretly)... She puts up an ENORMOUS front of being evil but when you look closer at what she approves of, she's really not. It's easy to raise her approval when you're playing as good. Astarion and Lae'zel I agree are a bit more mean-spirited.
I agree that I do appreciate having Halsin there to be
a kidnapping victim. I accidentally went into the sewers early and Orin kidnapped him, but I didn't mind and went about my business. If it had been Lae'zel, who I'm much fonder of, I would have had to make a beeline and it would have catapulted me into the end-game way too quickly. Thanks Halsin!