If you punish for leaving WZs (a intended feature) as there is a button for it, then all those that leave will simply sit idle till the next match.
The only single answer is that a matchmaker needs to be implemented in order for both teams to have a fair chance to win. As it stands now, I can tell about 75% of the time if its a bad win or great loss in the 1st 1 min.
Why do I want to be part of a unfun 15 mins because players can't don't have a clue how to do objectives, have bad gear and can't run their toons worth a damn? As much as you are being disenfranchised by players leaving, the players that leave are being disenfranchised by players that are bad, inexperienced or lazy.
You will never fix this, its just life, the only solution is to have a equal number of good geared, high experienced players on each team and a equal number of low experienced, bad players on each team.
The challenge is, we know Bioware track queue lengths. If they refined the match making system to ensure that teams are reasonably equal in gear and experience (I would assume valour level can be the only measure for experience) the queue times will explode.
Therefore the solution is better match making. To ensure the queues continue pop in reasonable time is to create cross server warzones.
It would appear in the 2.0 patch their intrim solution is for a better bolster system.
Hopefully the long term solution is cross server warzones.