I think a lot of problems stem from GMs not having a game planned out past the initial premise. You need to be able to plan the general plot ahead of time and know what you want to accomplish. Another thing that helps is being picky about who you accept in a game to make sure they're a good fit. I see way too many GMs accept anyone who applies, and it bites them because more often than not, people drop as soon as they get bored, lost, or they think a few days of inactivity means a game is dead.