I've taken to wearing a painting respirator on colder days (see avatar).
For warmer days I have a balaclava with a velcro face mask that I can open and close as necessary to reduce fogging. I'm not sure if something like this is available separately. I got it as part of a somewhat expensive Outdoor Research Gorilla balaclava, which itself is too warm for cycling.
Yesterday I tried a light merino wool balaclava. It does a poor job blocking the wind, but you can breathe through it with little fogging.