Balance
Regardless of the theme, the reputation of the Host, or the player roster, the most important way to ensure everyone has fun is to create a balanced game from the start.
Assuming all roles are vanilla (i.e., no powers) and a Mafia that has a Nightly kill and BTSC, and assuming a player is randomly lynched during the Day and a Civilian is killed at Night, the probability of a Civilian victory can be calculated using this tool:
http://games-net.de/hosted/tggc/trash/mafiacalc.php
And if you really like math:
http://arxiv.org/pdf/1009.1031.pdf
(It may be counterintuitive, but in the setup described above, adding an extra civilian when there is an even number of civilians (for example, going from 10 to 11 civilians) actually increases the Mafia’s chance of winning.)
Caveat #1: Human psychology / emotion / rhetoric / metagaming is not taken into account using the calculator above. That’s what makes Mafia so fun!
Caveat #2: Role abilities beyond a Mafia’s kill and BTSC are also not taken into account using the calculator above. That, too, makes Mafia fun.
While giving the Mafia more power(s) will always strengthen the Mafia, giving the Civilians more power(s) will not always strengthen the Civilians. This is because the Civilians do not know who is on their side, while the Mafia do.
The inclusion of a second Mafia team or an independent serial killer generally helps balance the game in favor of the Civilians.
A way to curb powerful roles is to limit their uses in some way, such as making the power available only on Odd Nights, or by allowing it to only be used twice.
A general lack of death can make for a frustrating game for either the Civilians (failed lynches) or Mafia (failed kills). Therefore, limit the number of protections and resurrections.
Limit info roles, powers, and events. These can turn an otherwise balanced game into a one-sided affair.
Important: Do not alter the fundamental dynamics of the game in progress just because one side had rotten luck. Bad luck happens. Only intervene as the Host if you detected a fundamental flaw in the game design that you had not foreseen prior to starting.