How about adding some extra features to dota matchmaking. Like adjusting the players not just by some "skill level" but with your dota level and hours played. It's quite frustrating to get some low level players in your team, because you know that this is most likely will be some fake accounts, and they will ruin everything with high possibility.
Also it would be superb to use the League of Legends punishment system or something like that where you get more then just a few games in a low priority as a punishment for some inadequate behavior. It would lower the amount of toxic players because they will be afraid of losing the ability to play dota for 1 hour - up to few month. Valve pls!!!!