With League of Legends, the problem is that a match lasts at least 20 minutes (not sure if this is still the case) until someone can surrender. A while back, I then played Heroes of the Storm, where most matches aren't longer than 20 minutes.
Nowadays, I played a lot of Rocket League, where each match is 5 minutes (or 7 at most, depending on the amount of "goal cams"). But still, they can feel a bit like an eternity, if your mate decides that "you're a fucking noob, because you missed the ball 10 seconds into the game and we certainly can't win in the next 4:50 minutes" and just plays like an idiot. Sure, you can report those players, but ultimately, someone has to review the games and I suspect this is quite impossible to achieve.
So, what's the solution? I don't know. Maybe the solution is on an individual level – stop playing "for the win", but try to enjoy the ingame moments (like "I hit the ball mid-air" or "I achieved a pentakill"). Or only play with friends on your team and mute the other team.
After all, in most competitive games, you achieve about 50% win rate anyways, once you reach a certain mid-range skill level and don't play with your friends, because the match making algorithms will sometimes give you good team mates and other times bad, or toxic, ones.