I read somewhere that you can use Formula 409 to clean your goggles which creates a barrier so the fog doesn't form inside. I rode this morning for 50 minutes in 40 degrees with a scarf pulled up to my eyeballs with no fog. They even used to use it as a selling point in TV commercials in the early 70s (below). While no solution is permanent, dirtbike.off-road.com reports that you can also effectively use a potato slice or liquid soap. Rub it on, allow to dry, then buff clean.
Below is my regular riding gear. Metal flake Fulmer helmet, Halcyon goggles, black scarf, vintage cafe racer leather jacket.