I have electricity.
I’ve never used an engine block heater before. There’s no freeze plugs or coolant to use a heater with. I don’t want to use the glue-on type. The magnetic type could work, and are thermostatically protected, which is nice. I also saw an electric blanket type, which got me thinking. I recently bought a 100w heating pad that goes to 60C (and it does: the highest setting is too hot!). That could be good for some direct heat on the compressor, too! And, of course, I’ve got several propane and electric heaters for general space heating...
(And this was never about *keeping* it hot; just like your car in winter, once it starts running, it’ll *stay* running nice and warm... It’s starting it while minimizing the damage that’s the challenge.)
Mine is technically one of those cheap stick-on silicone heating pads but the magnetic block heaters should work and that's where I got the idea from. I have mine installed on the crankcase right above the oil drain. I should probably get a larger one but this seems to warm it up enough if I leave it on for a few hours.
Like you said only run it initially to warm up oil / compressor and make sure the drains aren't frozen before I turn it on. Works great for me.