I agree partly. It's MOSTLY our own fault. Though removing yourself from it is just to flee, and do not solve anything but your own needs.
You also have to remember that most of the time, there's one person in the group that comes out as toxic first. Thats 20% in a group of five and even lower in a group of more. Most of the time the other poeople are pretty nice but it doesn't show, only the person spewing toxicity is noticed and that suffecated the atmosphere completely. So what can we do? Remove the toxic person? Well yes, but as some content (looking at you, mythic+) are constructed, you won't be able to replace that person. The group either suck it up and move on or disband.
I'm the kind of person who enjoy puging, you meet so many different people and as long as you show a friendly, understanding and chill attitude the toxicity have a hard time getting through. It does, sometimes but most of the times a showing of chill attitude and understanding spark a more constructive discussion which ends up in the players doing better and over all having a better experience while learning a thing or two.
I think at least 60-70% of my pugs have been a great experience where everyone had a decent time.
How do we change this? It's by steping in, showing that niceness is the dominant way and that toxicity does not have a place in our groups. People tend to adjust to the most accepted behaviour so we make it not about toxicity but friendliness.
TL;DR: it starts with you. Be nice