For Gengar with Sludge bomb, consider Groudon or Rhydon with Earthquake. They doubly resist Poison, and do Super effective Ground damage. Snorlax with Lick and Earthquake is also a good option, but doesn't get you ahead of the clock - last resort only.
For Machamp, consider adding a Ho-Oh. Resists both fighting and steel damage, has a better attack than Lugia (although not a lot better), and has the Extrasensory/Brave Bird moveset that does SE damage against Machamp. It's not quite as good as Lugia against pure fighting, but is way better against steel moves.
For Granbull, consider Aggron. I haven't done much against Granbull, but I've found two 91%+ Arons at level 35 (both on snowy days, ironically, given that there's way more partly cloudy days here), and both got double steel moves when evolved. So for zero dust and 250 Aron candy, I have two strong steel attackers (yes, I admit I was lucky here - I don't use scanners). Their DPS isn't great, but they can take a pounding, and Heavy Slam is a decent if not stellar two bar move. Even if they aren't optimal, they are pretty good for zero investment of scarce resources.
Finally, if you can't scan the boss moves, there are two things you can do.
1) Look at the recommended pokemon. Against Latios, it's usually clear what it has from the recommendations. Solar Beam gets Dragons, Psychic gets Ttars, and Dragon moves gets no dragons, with steel and fairies, etc. Use that to guide which team you bring to the dance.
2) If you guess wrong, it doesn't cost much (about 4 minutes time and a few healing potions), to bail on the fight, and then try again with the right team. In fact, before we (collectively) had a better handle on how raids work, it was a common strategy for one player to go in solo with a Blissey just to find out the charged move, so everyone else in the raid could go in with the right counters.
Good luck with all of it.