I see the problem, you had a Riven on your team and didn't expect them to be a horrible person.
But stereotypes aside, ideas have been pitched all over this forum for years regarding alternative means of making the matchmaking system punish those that put their team in unfair situations and not those that put up their best effort despite the match being borderline impossible. One of the problems that comes up again and again is that it's nearly impossible to come up with a system change that's both fair and unexploitable.
Some ideas and flaws are making it so that people in 4v5 games don't lose LP. The problem there is that someone can leave right before they lose a game and not lose LP along with the rest of their team. What if only the leaver(s) lost LP? Then toxic players would harass and troll their teammates into leaving because they either didn't get their way or because they just felt like it. Why not kick people in the lobby if they seem negative and get enough votes in favor of kicking them? That can be abused to keep people out of games if they don't pick meta champs, keep certain people off your team in higher elos where there are fewer people, prevent people on your team from getting counterpicked if the enemy chose a champ that counters yours. Why not make it so that people you report/block don't get queued up with you? This can also be used to keep certain people off your team in higher elos whether they are toxic or not, and possibly make it so that people high or low enough aren't able to enter ranked games.
There isn't a system currently in place that makes everyone happy while avoiding exploitable situations. If there is a way to exploit a system, malevolent people will do so simply for the sake of doing it. Right now, "Loss forgiven" is only given out in certain isolated times in which Riot has determined that their servers could be considered a large reason that you didn't win.
This all being said, what system changes do you have in mind?