I was just reading a thread on approval, and it made me thing that companions should approve and disapprove in different amounts depending on how personal something is for them. For example, it makes no sense for someone like Astarion to put as much weight on whether or not you run to deliver a message for Zevlor, as whether or not you accept him for what he is. I still think they should be able to show that they disagree, but there is a difference between disagreeing and feeling that someone is denying one's very existence, core beliefs, or way of life. I feel like Dragon Age Inquisition did this well, by having three levels of approval and disapproval: "Slightly Disapprove/Approve", "Disapprove/Approve", and "Greatly Disapprove/Approve", with "Slightly Disapprove/Approve" being minor disagreements/agreements, and "Greatly Disapprove/Approve" being doing something very wrong or very right concerning some cause or topic that is very personally important to them. Of course it doesn't have to be the exact same way in Baldur's Gate, it's just for reference.
I don't know if the game already does this on a small level, I haven't been able to tell.