The smell is not from contamination, aging, nor from degradation/rotting, etc. The smell is the material so your choices are for masking the odor - hide the odor with something more powerful and overcoming.
Perhaps asking what is the purpose to deodorize it would help a final solution. There may be odorless or low odor or nearly odorless petroleum products that will have the chemical and/or physical properties you are asking the kerosene to do.
PS kerosene never dries - try to use a paint with it as a thinner!
I'm not real familiar with kerosene, but I think most of the odor comes from molecules containing sulfur. It may be possible to remove these, and other molecules containing nitrogen and oxygen, by letting a volume of kerosene flow down a tube of silica gel adsorbent. The smelly molecules tend to be more polar than simple hydrocarbons so they will tend to stick to the right kind of silica gel. After some kerosene has flowed down the column you'll begin to see a dark band form at the top of the column. This stuff is the polar molecules that have been removed. This technique is possible for relatively small batches. The same gel can be used over and over until you notice that the kerosene coming out the bottom of the column is beginnng to smell again.
How much kerosene are you talking about treating? If it's a large stream, you might also want to consider an process like Merox or extractive caustic. These remove the lighter sulphur components and would improve the odor of the product.
Kerosine hydrotreatment improves not only odour, but also colour, sulfur content, Doctor tests, Cu numbers, haziness, and last but not least, its burning qualities.