I used to have the same problem, and I too got tired of flooding and clearing my mask all the time. I've tried a couple different things and asked many people what to do, and as of late, I'm fog free. Toothpaste is nice, but it doesn't always clean the mask 100%. I used a dry dish detergent, Comet I think. You're not supposed to use anything really abrassive, but if you're gentle it doesn't scratch or harm the mask in any way. When it comes to getting on the dive boat and getting ready to do your dives, it's a little trickier. I've tried many different "formulas" and deffogers, but some seem to fail miserably. Right now I use SeaQuick. It cost 2.99 and it's a convenient little spray bottle that I'll probably lose before it runs out.
When you get to your dive site just spray/pour/rub whatever defogger works for you into the mask, and spit into your mask. This is really important, because you do not want anything preventing your mask from fogging to dry on your mask (soap, defoggers, etc.). If it dries on your mask, in some cases, the mask may be foggier. After you apply the defog and spit, forget about your mask and get your gear on. When you're ready to get in the water, dip the mask in the ocean/a rinse tank/fresh water and you're good to go. Like I said before, don't let the stuff dry in your mask, it is not good! If you take a little longer to get everything together before you get in the water, you may want to save messing with the mask for last. Also, between dives, do the same thing. Apply defog and spit, let it sit, give it a dip and you're good to go, fog free.
Hope this helps. I know the pain you're going through right now!
I used to have the same problem and it seemed like I was constantly flooding and clearing, and half the time I got water in my eyes and they burned the whole time I was down.