The type coverage calculator on this site was made to answer such questions. Assuming you don't allow a Pokemon to have more than two types (thus no using the Protean or Libero abilities to get four differently-typed "STAB moves"), the best you can do according to that calculator is 541 with Ice/Ground (Mamoswine). However, the calculator has a known shortcoming in that it doesn't take any abilities into account except Wonder Guard. Among the 541 that it claims are hit super-effectively by Ice/Ground, 11 of them always have Levitate to immunize the Ground type that it's counting as a weakness (Gastly, Haunter, Solrock, Lunatone, Rotom Normal/Wash/Heat/Frost, Tynamo, Eelektrik, Eelektross), 5 more can have Levitate (Koffing, Weezing, Galar Weezing, Bronzor, Bronzong), and one always has Thick Fat to turn what would be a simple Ice weakness into an effectively neutral hit (Mega Venusaur). If you count every possible Levitate user against it, that drops the combo to 525 and puts it into a tie with the next-best option, Ice/Fighting (Crabominable, which loses only Mega Venusaur from the verbatim list and doesn't run into the same problem with Fighting).
One benefit to the Mamoswine line, however, is that it has the option to use Freeze-Dry as its Ice STAB, a move that alters the coverage matrix to be super-effective against Water, rather than having them resist it. This adds 122 more things it can hit super-effectively (including the undisputed readdition of Rotom-W), for a total of 647 and easily in the lead.