Agreed this needs a fix.
An easy step one is reducing the number of auto-triggered conversations, so the player can choose which character they want to interact with the NPC. There are some places that the auto trigger is totally unnecessary, eg the tiefling you can save from the bugbear assassin.
Then there are the additional improvements as suggested above, or even the opportunity to make use of the chaining system which I know lots of folk hate. For example, when an NPC is talking to one party member, make it possible to swap to anyone else in the chain to respond to a particular point, or to someone not chained who can continue wandering round the world/pickpocket at will. Similarly, if a different character speaks with the NPC and any character they’ve spoken with previously is in a chain with them (and not hidden) then they have their continuation dialogue rather than repeat the original conversation or talk about what they said to our friend.
Never having played multiplayer, I’m not sure how conversations with NPCs work, but if it’s not already possible, then perhaps make it so if an NPC starts a conversation with one character, another person can click on the NPC and join the convo, and then again anyone in the conversation can be picked to respond on any point. (I guess this could work in single player as well, though may not be ideal for one of the few in-combat conversations like the Flind ).