It's important that this Pokemon can switch in easily, I think that most of the types mentioned so far are good for that. Flying and Ghost have great immunities, Steel has a lot of resistances, and Water and Dragon both have only two weaknesses yet four useful resistances. I'm a bit iffy on Grass, It definitely has useful resistances, but it also has a plethora of weaknesses that can not only make it a bit harder to switch in but also make it more difficult to maintain momentum, since your opponent has more options than it would with a different type. Still, this can be solved with appropriate stats, secondary typing, and movepool. Breloom, a Grass type, was one of the most common examples used in the concept discussion thread of a Pokemon able to create momentum, mainly because of its STAB Mach Punch, high attack, and access to Spore allow it to force the opponent into an uncomfortable situation, while Breloom usually could keep doing what you wanted.
In my experience, the most common attacking types are Ground (obvious), Fighting, and Dragon, followed by Ice, Rock (also a very bad weakness to have because of Stealth Rock), Fire, and Water. The only types not weak to any of these are Water, Ghost, and Fighting. It doesn't have to be any of these types for it to have ample opportunities to switch in, but these are the best. Out of them, I think Ghost is the best, as it also has two great immunities.
With additional respect to hazards, Steel is also good for its resistance to Stealth Rock and immunity to Toxic Spikes. Flying is immune to Spikes and Toxic Spikes, but is weak to Stealth Rock, although I don't think that's too big of a deal so long as the Pokemon doesn't end up 4x weak to Rock. For your own hazards, Ghost spinblocks, further limiting your opponent's options.
On the offensive side, Water is great, hitting three common types super effectively and is one of only five types not resisted by Steel. Fighting is great too, as it hits five types super effectively, although it is also resisted by five types, so it might not be as good at forcing what your opponent will switch in. Dragon and Ground would also be great, but I fear that they might make this Pokemon too offensive rather than a Pokemon who forces your opponents hand and keeps things going your way (other than just sweeping). On the other hand, they make it very easy to tell what your opponent is most likely to switch in on an expected STAB attack: Steel and Flying, respectively.