If you don't use custom insoles but just the ones that came with the shoes, you could just replace them with odour eaters carbon insoles ("trainer tamers" are the best for their anti-pong properties). They really do absorb the smell and keep the shoes fresher for months. Taking the insoles out and drying/airing them off after rides should also help. Must admit that since I started using custom footbeds, my cycling shoes don't smell. The insoles I use are really thin and I take them out and air them off after weekend/longer rides (though not after each commute). I use the insoles every day as I only have one pair, but I do take the insoles out and put them into a different pair of cycling shoes for my weekend ride(s) - perhaps giving the other shoes a day off also helps. If you have more than one pair of shoes, you could alternate them each day to allow the others to air off more between rides.
OT a bit, but we recently discovered that you can wash tyres in the washing machine (why, you might ask) - for people with far too shiny a bike (I use Mr Sheen on mine) this is great news - they come up looking new.