As a disclaimer, I am not trying to single out any particular person as a bad host or whatever. We are all human and mistakes are bound to happen; even flamewheel, Incognito, and GMarshal can attest to their fare share of causing shitstorms because they messed something up.
The list is not all inclusive, nor does it address specific situations.
1) Keep your OP updated.
This is rule number 1 because hosts very frequently neglect this. It is much easier to see the current status of the game and how far along a game is when you only have to look at the first page and see who and what roles are dead. Otherwise one has to check up on all the day/night posts, which can be tedious.
And speaking of which, make sure to link to all the day/night posts as well. Also make sure you have the players' filters somewhere in your OP.
Personally, I like ghost_403's style of OP (see here.) The very first post has the filters and player list (as well as coach information) and then has the flips and important posts in the spoilers. I like this because it's the first post and near the top; I don't have to scroll down and look through the first three posts to find this information. While you don't not have to copy this exactly, it should give a good idea on how to format your OP.
And again, make sure you keep it updated as the game progresses.
2) Do not make unnecessary posts.
As the host, your job in the thread is to answer player questions and make the respective day/night posts (and whichever ones may be required by your game). Occasionally posting is okay, but it is obnoxious when a host is contributing to spam because they are talking unnecessarily.
3) Do not interfere with the game.
Hosts exist to move the game along and not to help players find out the mafia. Things that a host should not be doing include: choosing night actions for afk players, helping players analyze others, and helping mafia pick their targets.
4) Players will try to fish information out of you. Do not help them.
Let's not mince words...some people are jerks, and they will do whatever they can to get an edge so that they can win. You, as the host, will have a hard time giving an unbiased opinion because you know the role list and most everything occurring in the game. This leads to number 4...
5) Avoid discussion with players in the game.
See number 3. Unless a player is asking you a game related question, there is no need to be sharing a cup of coffee while discussing the latest happenings in the mafia game.
6) Send the game setup to Foolishness for balance.
Nothing would suck worse to play in a game only to find out afterwards that your chance of winning was so low you might as well not have played. Someone experienced needs to verify your setup to make sure there are no shenanigans. Make sure to PM me your setup when your game goes up (if not, earlier).
Also keep in mind it's important to build a game that's fun for the players, not just fun for you. Sure it'd be hilarious if there weren't any mafia in the game and you randomly killed people at night, but the players would not be happy when they found out.
7) Do not volunteer information not explicitly asked for.
This rule applies more to crazy game setups (such as pick your power) than to normal games, where it is near impossible to account for every crazy scenario that may happen in a game. The player is responsible for asking the right question, not the host for providing the outcome the player wanted/expected.
8) Do not hand out the role list.
Multiple hosts have agreed with me on this point; role lists should not be distributed to anybody. This includes, but is not limited to: players outside the game, coaches, and dead players. Most everyone is guilty of this (which is okay) but it is for the best if the role lists are not handed out until the game is over. In case of a mishap, it's okay to give it to someone like GMarshal or Foolishness to help resolve an issue.
9) Make sure you check the banlist thread before starting the game.
Should be self explanatory
10) Have a cohost for your game. Make sure your cohost actually does some work (however little).
This is already stated in the Active Games thread, but I wanted to put it in here for emphasis.
11) Double check, triple check, and get your cohost to check the vote count.
A good way to mess up a game is to accidentally kill the wrong person because the vote count was messed up. As there is never an easy solution to this that all parties are satisfied with, it is best to avoid this situation altogether.
12) PM Foolishness when your game ends (or make a post in the Active Games thread).
It helps me to know these things right away to make sure new games are up at the appropriate time.
13) Have fun!