For start I just want to tell you that after community has been *****ing for over a year that matchmaking sucks, you finally decided to do something! But I guess better late than never.
Even thou I am not really happy with you taking so long to react, I appreciate your effort for doing so at last.
Here is my honest opinion of your matchmaking system and my idea how to improve it.
For start it is a team based game, and as such placing random people into a group they are forced to play in is wrong.
Judging their skill level based on their performance in totally random team is wrong.
Expecting people to be completely polite to other team mates who are forced to play with you as well as you are forced to play with them is wrong.
What you created is easily described as "putting 5 rabid cats into a small bag" and expect them to behave and work together. Well, it won't work, and you can see it by doing above mentioned experiment, or simply monitor players matched by your system.
And this is how I see solution to this problem.
Instead of shoving people to play with each other even if they obviously can't bare each other, you make a group of 5 people before you match them against other 5 people. People are being matched with other players with similar elo and number of games.
That group, of 5 random people, has infinite time to chat about what they want to play, how and why. Everyone can do a background check of other players, and see their match history, stats, and so on... During that process, players unsatisfied with a match, can leave the team, without any penalty and rejoin another random group of 5 people.
Ofc, person that left can't be matched with other 4 people in group for another 30 minutes. To prevent awkward situations off being matched twice in a row with unwanted people.
Also you are able to "tag" a single person in a team you are matched with a "troll marker". Person that gets tagged with troll marker 10 times during 24 hours gets a 24 hours ban. One marker gets removed each hour. This way you are able to remove trolls before even being matched against other team. And trolls can't exploit it and report random people since they can't be matched with same people after they left for next 30 minutes, and are able to tag only one person per matched team.
So once random people team found themselves, and managed to get along and organize a team build, they are then being matched with equally strong opponents. They do so by clicking "i'm ready" button. Once all 5 are ready, matchmaking starts.
Equally strong opponents are team with as similar average elo and average number of wins as possible.
This way players are able to create team setup they think it is the best, and get matched against equal team that made also setup that they think it is the best. So no one can ***** about i got matched with idiots, team setup sucks, because you agreed that team is good.
Same can be applied for ranked games, except people don't make team straight away, but instead talk which role will be for who, and who can play what. Person with highest elo is leader, but that doesn't matter since people probably agreed who will get banned and why.
Once matched with opponent team you have a standard draft pick system.
People who leave game once they agreed to play with the team and are matched with opponent team gets a 24hours ban and reduced his elo by 100 if ranked game. This way people would think twice to leave the game once matched, and will they play with the team or not.
This way players are able to choose who to play with and let them organize before the match starts. Whole process would take some time at start, but people would get used to it really fast thus increasing the whole process.
This way to get in a game would be a bit longer, but games would be far better for both teams, and better balanced.
After all this is a team game, so let people choose who they play with. I'm quite sure that people would enjoy it way better if they get familiar with each other before the game actually starts.
Not to mention that Ignore list would actually do something, since you would see you are matched with a person from your ignore list, and after some time, most of vile and toxic players would be filtered out, because no one would play with them. So they are forced to assimilate to team environment or never play with people again.
Yes, i am willing to sacrifice 30minutes to get a team I want to play with, then get placed in a team with totally random idiots, and then suffer in game for the same time + lose elo and nerves!
Just my idea.
Cheers!