I commute all year by motorcycle and initially went through the same miserable (and dangerous) experiences you have.
Here’s what I’ve ended up with through trial and error and I no longer have any problems seeing in rainy weather (and I wear glasses).
For the Rain:
1. Regular Rain-X (nothing special) on the outside of the visor. You only need a few drops of Rain-X on a cloth, so a small bottle lasts for ages even with frequent use. I clean the outside of the visor with Plexus (or the anti-fog/cleaner I carry with me) and re-apply Rain-X after every ride in the wet (once the visor’s dried of course). Use a microfiber cloth to avoid scratching the visor.
2. Accessory finger wiper (squeegee) on my gloved left hand index finger to remove dirty water splashes or fine misty rain that won’t bead-up and run off; J.C. Whitney has some. Wiping occasionally doesn’t seem to stop the Rain-X working.
3. Keep the visor closed (provided you have what’s below).
For the Fogging:
1. A Pinlock visor and visor insert (a miraculous product which eliminates fogging 100%).
2. Anti-fog spray on my glasses; re-applied every couple of days as necessary.
That’s it. It works!
I use an inexpensive HJC CL-15 full-face helmet (Snell & DoT approved) for which there is a pinlock equipped visor available. HJC approve Rain-X for use on their helmet visors.
Avoid noseless balaclavas and helmet “breath boxes” as unless they are a perfect fit, they will funnel your breath up onto your glasses, misting them up.