The best way to beat Whitney is just carrying a Geodude or Onix, with Geodude you can almost beat her's Miltank without problem, but you're risking a bit if you're underleveled, but with Onix you're 100% sure of overcome the cow. Thunder Wave, Mud-Slap, Sand-Attack, Smoke Screen, and similar moves also does the same good job against her, and you can also put her's Miltank to Sleep, too. Machop is just the desesperate plan when you din't trained a Ground Pokémon and you're too underleveled to take a hit (all you need is to being able to take a single hit).
As for Jasmine, Mud-Slap against the Magnemites, and Surf/Fire Punch or Bubblebeam pretty muchs ends her, as her's Magnemites can't just take a ground attack, and Steelix can't really take non-resisted special attacks at all (and taking in account everything and Shuckle will be faster...), any starter, even Chikorita can really harm Steelix with a bit of support (set a Reflect, proceed to Razor Leaf, heal the damage, finish him).
As for Jasmine, Mud-Slap against the Magnemites, and Surf/Fire Punch or Bubblebeam pretty muchs ends her, as her's Magnemites can't just take a ground attack, and Steelix can't really take non-resisted special attacks at all (and taking in account everything and Shuckle will be faster...), any starter, even Chikorita can really harm Steelix with a bit of support (set a Reflect, proceed to Razor Leaf, heal the damage, finish him).