I posted this in some other thread, but dialogues in PnP D&D frequently involve (at least in my games) multiple players talking to the NPC. This allows them to sometimes get Advantage on a persuasion/deception/etc check (or at least have others step in when the first person fails, to try to mollify the situation). This is a huge bonus.

A combination of
-the above
-actually allowing other party members to participate in dialogue (changing to your character with the best stat)
-small bonuses based on previous things you've done/said in the conversation
-passive checks
-outcome determined by the degree of failure (fail by 1 or 2 is different than failing by 10+)
would do wonders.

I like having a degree of randomness in dialogue rolls. But the current implementation, where it is easy and not fun to fail, isn't great.