A serious and very easy solution to all this, it's so simple very few ever even thought of it:
You reward players based on their performance.
No black and white all or nothing system, or 1st 2nd 3rd places with fixed rates.
You convert dmg/healing/assists/alive/object time etc straight into a players score that you cash in on the fly.
With a bonus multiplier to see a match to the end.

Now it doesn't matter that much if your team has a few lazy rotten eggs.
You can still do your best, improvise and get rewarded without having a fully wasted match.
Ofc the winning side will get some extra points and rewards,
but at least it's nothing near as bad as a full either or/win or lose scenario.