I have always found that smoking in a car makes this happen more. The way I resolve it is to use a microfibre cloth or chammy, almost dry, to wipe the windscreen. Then blast heat on it with the windows open. The windows do still steam up but much less than usual. When you are freezing cold in your car and you put the heating on you need to cool down the inside of the car or it will steam up next time you get in. I always leave the windows open for the last minute of a drive home... unless its raining.