Battery heater, oil pan heater, and engine block heaters all will HELP in cold weather in different ways. A coolant/block heater will help your cabin comfort and engine wear by helping the engine be warmer and thus some oil and metal parts are less prone to what causes most wear(start up, idle, cold engine). A battery heater will help extend battery life and help truck crank over easier, but a good quality battery and basic maintenance(keeping up electroylte, cleaning, clean terminals) will do a good job at that too. A oil pan heater will help your engine a lot at start because the oil will flow better and protect the engine quicker.
A block heater would be best for michigan since you live in the same climate as I do. Usually takes place as one of the freeze plugs on the bottom of hte engine where sometimes you might see coolant weep out if the seal isnt that great. If you see one leaking, make that the plug you replace with a block heater! 2 birds one stone kinda thing
I use one on my car and it raises the temp on average to 60 degrees regardless of how cold it is(i leave it on all night, i dont do a timer but its negligible on energy bill esp with home improvements to make more efficiency), if its fully warm when i turn the car off and i use it within like 12 hours, I usually have 80 or 90 degree coolant when i start my car. this cuts my warm up in half usually so i have warm air in cabin ASAP. I also block half my radiator with carboard so my radiator is less efficient and car doesnt cool down when i drive off as much. From my understanding 4 hours before you go anywhere will usually do the most a block heater will do for ya before you go anywhere. so a timer and an extension cord wouldnt be bad investments. I notice a good Mpg increase in less idle and less warm up time, but in a square im not sure how much that would extend.If you want better cold start id make sure your choke is working good and you have good fuel atomization and a good solid battery.