There's an old school hill billy garage just down the road from me that is always busy.Dont laugh but they regularly spray the underside of cars with just plain simple engine oil (mine included)
It's left to drip dry and it lasts for ages.My car is an old rover and knocking on 25 years old and the underside of it is perfect.
Funny you mention hillbillies, as I used to make redneck waxoyl in my Land Rover days. Candle wax flakes, machine oil and white spirit in equal measures by weight, warmed and mixed. Heated up it could then be sprayed on and you could make vast quantities for very little cash.
These days I don't have so much need of the rust ungents, only on the Volvo which is very clean. That being the case I use Lanolin spray, specifically the Buzzweld product, although I originally used Lanoguard which has now become more expensive as it has become popular.
Supremely effective, easier to apply than anything else, and doesn't form a skin that allows rust to spread unseen. There is also some interesting research into the use of lanolin as a rust preventative, particularly the way in which it encourages salt molecules to migrate away from the surface or the metal, whereas wax or bitumen type products simply hold contaminants against the metal .