You could use particles for the smoke, for the heat ripples I would render a particle pass and use this as a displacement or something laong those lines in compositing.