Scarf Mamoswine and Rotom-W put massive holes in these three (Rotom struggles a bit with Gengar but it can Volt Switch out of Shadow Tag so Gengar doesn't help much there), so I'd definitely suggest adding checks to those two. Unfortunately, there's isn't really any catch-all check to both in one slot, as Rotom's main checks are things like Serperior, Hydreigon and Mega Charizard X, all of which get pretty comprehensively stomped by Mamoswine, which itself is checked by a lot of the bulky Waters that Rotom-W preys on. That said, you have three slots, so I'd add a Bulky Water and a powerful Grass or Dragon type to check these two threats. I'm going to go ahead and suggest AV Azumarill and LO Hydreigon; Azumarill hard stops troublesome Pokémon like Mamoswine, Blaziken and Charizard while also giving you a priority option for stopping sweeps. Hydreigon is a useful nuke for breaking up fat mons like Gliscor, Chansey (with Superpower) and Mega Slowbro, and makes a fine switch-in for Rotom-Wash (Dark Pulse cleanly 2HKOs and Draco Meteor has a 56.3% chance to OHKO). Then, I'd most likely add a Steel-type to alleviate your Fairy weakness and to create one of those delicious Dragon-Fairy-Steel cores, either Aegislash for the perfect type synergy with Hydreigon and as another Kangaskhan answer or CB Scizor to add another strong priority option and a powerful, slow U-Turn to bring in Gengar safely. These are just ideas but I hope you consider them and maybe try them out :)