This technically happens… in Competitive Play… and to some extent is not very effective against deliberate leavers. This is because players can switch accounts if they own multiple accounts.
In casual modes, a penalty applies which gives a severe deduction in XP if a player leaves too many games. However, I will agree there needs to be stronger deterrents for both casual and competitive games, but these deterrents can’t severely impede on honest players who have a simple technical issue like a disconnection.
I personally think a low-priority queue to discourage leavers in both Competitive and causal modes would prove very effective. This means if you leave a game, you have to wait several minutes in the search queue before the matchmaker even considers you for a match. This makes it impossible to dodge the penalty unlike a straight up suspension.