Howdy
I use Ballistol all the time. I don't clean with it, water based mixtures are better at dissolving BP fouling than Ballistol is, but I use it as a preservative and lubricant once I'm done cleaning.
I don't think Ballistol smells so bad, but maybe that's because I have been using it for years. Personally I think Hoppes #9 smells worse, and Hoppes #9 is toxic, Ballistol is not.
Regarding oils being absorbed by BP fouling and preventing moisture in the form of water vapor from being absorbed into the fouling, absolutely true. Think of the fouling as a dry sponge. Once a sponge gets saturated with water it won't absorb any more water. Same with BP fouling. Saturate it with oil and it cannot absorb any water from the air. It's the water absorbed from the air that causes most of the corrosion from BP fouling.
In addition to relatively new guns with shiny bores, I have quite a few antique rifles and revolvers. Most of them have old pitted bores. It takes tons of elbow grease to remove 100% of the fouling from inside all those tiny pits. I stopped trying to do that years ago. After a good, thorough cleaning with a water based BP solvent, I run a patch soaked with Ballistol through the chambers and bores. Then I mop up most of it with a dry patch, leaving a skim of Ballistol behind. The Ballistol soaks into the tiny bit of fouling left in the pits, and prevents further corrosion. You can do this with any oil, but Ballistol is convenient for me. I also squirt some Ballistol down inside the action so I don't have to completely disassemble the fire arm every time I shoot it with BP. The Ballistol soaks into any fouling that made its way into the mechanism, rendering it harmless. When ever I completely disassemble one of these guns, there is always plenty of black, oily gunk inside. Never any rust. Been doing it for years.