I use Ballistol on my razors with excellent results. Ballistol works by neutralising the oxigen in the moisture, not by providing a protective film on the blade!
It is absolute non toxic on the skin and even taken intenally, yes, internally as it is a household item in the Germanic countries for al kind of ilnesses. In fact Ballistol, in a slightly changed formulation is sold in german pharmacies under the name of "Neo Ballistol". See the link:
Product Overview - Body Care | Ballistol Öl - F.W. Klever GmbH
After drying the blade with tissue and removing all traces of soap, I slightly coat the razor with a cotton swab soaked with Ballstol.
None of my 20 str8 razors has rust on them, so far.
The smell goes away after a couple of hours.
Olive oil is acidic and will form rust on the carbon steel.