Idlers and quitting midgame are tough subjects, both ethically and logically, regardless of PvE or PvP. You do have to code for each.
PvP Idlers:
-They do get booted now for idling, but how long is too long?
-They could do something like checking to see how often it occurs. Was it just that one time (in the past X games)? If so, no cooldown. If it's more than the last game, what's the consistency and how many games?
PvP quitters:
-What is their quitting percentage? If it's above a certain threshold, cooldown. (Maybe what, 10%? Meaning you can't quit more than 10% of your games otherwise you get a cooldown).
-Also, how about quitting a game you just joined midgame that's already either imbalanced either from score or player count, should those count as "quitting"?
There needs to be a penalty, but the overall matchmaking system needs to be smart enough to calculate and differentiate between people doing it at a somewhat frequent basis versus rarely.
PvE can be somewhat similar. With this system a boot system should be applied as well, at the very least, for PvE.
Just some thoughts.