I'm running into that issue as well, it can take HOURS to finish Z'A/Z'G due to really bad players in a random pick up. The percentage of bad is extremely high too. I find having to at least get three of my guildies on and carry the 2 pugs through just to get it done. And if they are REALLY bad, I find that if I go to boot them it frikken says 'Player can't be removed for 2 hours'. WHAT? Did I over boot people and now I can't anymore? WTF?
I had the same issue too so now I just strictly run with guildies. I cleared ZG last night in 36 minutes. Start to finish, it was fun and easy with the guild. Just find a good guild to join and there shouldn't be a huge problem.
The game is still a load of fun (was better in wotlk imo) you just need to play with the right people. When I play with people that get pissed too easy and frustrated, it is horrid. My laid back guild members have made it a lot of fun recently.