This is a shill question for Mark Taylor. I stumbled on his great tip about keeping a spray bottle on hand to prevent boil-overs while looking for advice on yeast re-use. The spray bottle worked amazingly well. Ample room in the boil pot is pretty obvious. What other strategies are there?
I've used FermCap in the last couple of batches. Seems to work great for preventing that initial boilover. It still gets foamy, but the foam dissipates much more quickly. Excellent in starters on the stove top as well. No noticeable effect in the finished beer. No problems with head retention, etc.
I keep a very close eye on the foam level during the first 10 minutes of the boil and am very ready to kill the heat if need be. Recently I've been boiling with my pot about 2" from the rim at the start of the boil and haven't boiled over... yet. Brewing on a gas range (as opposed to electric) really provides for a lot of control over the heat input. With gas, when you kill the heat, it's killed, unlike an electric coil stove where you kill the heat and it starts to cool off.
When adding hops, I drop in one or two to test the water - er, wort - before going all-in. Hops provide a lot of nucleation sites, so adding them quickly could cause there to be a ton of foam when there was no foam seconds earlier.
Fermcap S is far and away the best solution. Use as directed during the boil. You can also use it in the fermenter to prevent a large krausen from overwhelming your airlock, but you will need to adjust your IBU's as it will reduce hop utilization during fermentation.
You can also add a drop or two to your starters to prevent boil overs when preparing them.
I brew on my stove which is right next to a window. I open the window, turn on the vent fan, and when boilover is imminent, I'll blow on the foam, and that reduces the foam quite quickly. Granted I've only done this with extract and specialty grain, so it may not work in all-grain, but I'd recommend it for a try.