Jenn, one woman (Critterologist - not sure if she's here or not) suggests using Hydrogen Peroxide when watering, she has said that it will kill the fungus gnats dead.
Someone else recommended using a layer of fine gravel (or some gravel-like substance like perlite) on the top layer of your soil.
I've also used bT dunks, crumbled and left in my watering can for a day or so - I just didn't use them in my houseplants.
For me, what worked best was "bottom watering" - putting water in a dish and letting the plants soak for a few hours so that the top layer of soil is never wet-wet. Now, these were my seed starting projects.
If your plants are not the type to be happy with letting them dry, you might want to lighten your compost mix with perlite, sand or perhaps some bark.