What are some good house rules to balance the sides in Saboteur?
One technique we've used is to ensure that the saboteurs know each others's identities before starting the game.

After everyone has checked their role cards, everyone puts their heads down.  One player calls out for the saboteurs to put their heads up and identify each other.  They put their heads back down, then everyone puts their heads up and starts playing.

This lets the saboteurs be much more effective and strategic - if one of the other saboteurs reveals himself, you can play more cautiously to reserve for sabotage later.  You can also collaboratively lie about Map results if you want.

With my group of (fairly experienced) players this rule has resulted in a much more balanced ratio of wins for the good dwarves and the saboteurs, while not going so far as to outright allow the saboteurs to directly communicate.

Another house rule we use is to always guarantee the maximum number of saboteurs, rather than having a chance for one fewer as in the normal rules.  Otherwise the saboteurs are typically screwed when they're one man down.