Beersmith calculations work PERFECTLY for me..
No need to pre heat the tun and all this stuff.
If you make sure your initial conditions are accurate (grain temp and mash tun temp), and your equipment profile is accurate (mash tun weight - including false bottom and fittings, but not including the lid (mine weighs exactly 6lbs)), and specific heat number (I use .33 on my Igloo 5 gallon) - then it WILL give you what you need to hit your temps.
I consistently hit within .5 degrees of my desired temp. No point preheating and estimating off the top of your head some error correction or whatever, when you have all the information and tools you need.
What I did when I was dialing in my system, was to just be consistent in how I poured the water, mixed in the grains, and even where I hold my thermometer when measuring temp. I like to overshoot the temp when heating by a little bit, then turn off the heat and stir slowly till it drops to my desired temp. As soon as it hits, I pick up the pot, walk over and dump it into the MT, then immediately start stirring in the grain. Same way every time. If your temp ends up too low, then you should increase the specific heat rating - too high, then you need to adjust it down.
Also, I use the same calibrated, quality, digital thermometer in each step. If you use more than one thermometer, than make sure they are perfectly calibrated.