The way to fix this... is to decrease the ping times that check if you are active or not. Right now it only checks like every 5 or 10 minutes if your alive.. and only removes you after missing 2 or 3 of them... if they pinged every 30-60 seconds.. then they could force a disconnect a little bit quicker...

I think the reason they do the longer DC is because of the transparent zone changes, giving the servers enough time to see if you've moved etc..