I agree with some of your moveset. I would give smeargle a damp rock to hold, and swap substitute to raindance, so when you baton pass to a Magikarp with Swift Swim, it will be faster than other pokemon for nearly 8 turns, that should be enough to tackle or bounce your way through their teams.