I use a HERM system. My mash tun is a 10 Gal Igloo water cooler with a bazooka screen. I got a stuck mash once, so I sewed up an ugly BIAB bag to line the tun. Haven't had a stuck mash since. I recirculate my wort through a 25 ft copper coil immersed in an electric brew pot. I use a thermostat on my heating element to keep the water bath at 160 F or step temperature plus 4 to 6 F. (During temperature increases I don't let the bath go over 160 because I'm concerned higher temperatures will degrad the enzymes - that may be overly cautious, but it works well.) Initially I was doing only temperature mashes, but I found I was spending too much time within the Beta amylase temperature range and getting lighter bodied beers when I wanted them full-bodied, so lately I've been heating my mash water to infusion mash strike temperature and adding grain for a single infusion. At the end of the mash I drain the water bath from the boil kettle, run the wort into the kettle and boil. I like the increased maltiness I get from not sparging. I'll occasionally sparge to collect some low-gravity wort for starters.
Generally, if I mash out my efficiency will run in the neighborhood of 70%. I calculate using 65%, so my pre-boil gravity is usually a bit high. If I'm out of time, I'll skip the mash out and get about 65%. Beersmith's dilution tool tells me about how much water to add to approximate the expected pre-boil gravity. I continue to check gravity throughout the boil (using an auto-temperature-correcting refractometer) and adjust the intensity of the boil as I go to approximate my final gravity. If I screw up and have to extend the boil, I'll know enough ahead of time to adjust my late addition hops to still approximate the desired IBUs.
The main point of my system is not the equipment or general brewing procedures, but the frequent gravity measurement and using Beersmith to guide adjustments.