Team balancing happens, fucking sucks when you have to play the map twice on the same side but in different teams, especially if you won first because you're now probably gonna lose. And yeah leaving and rejoining goes faster than next map sometimes, but I think in general a lot of people leaving are the people on the losing team. Unhappy with their team or whatever so they'd rather just move to another game than just queue for another. If you get stomped hardcore on a map, there isn't really any incentive to staying and playing again against potentially the same team and getting stomped again. Especially if they're a stack, there's not gonna be any team swap.
And I feel Hanzo is kinda poop? You need to be really good to do well with him, most of the time in the games I play, he's a shitty Widow. He does do good damage though if he can aim/you run into his arrows. He also can one shot almost everyone in the game at close range with a scatter, so you need to be careful on how you approach him, but he's way less annoying to chase down than a fucking widow who just rope the fuck away as soon as she hears footsteps around her.