I've already explained before why those aren't always unreliable. Roar and Whirlwind don't do anything against Baton Pass teams, probably the greatest benefactors of dropping the Evasion Clause. Toxic fails against Poison-types, Steel-types, Pokemon with Substitute, Magic Guard/Bounce users, Pokemon with Taunt, etc. Defog and Haze are good, but even then you still have to have the right solution for the right Double Team user. Everything learns Double Team, so you will never know what sort of evasion booster you're going to have to deal with until you actually see the move. You'll have to run multiple anti-Double Team measures to really be safe, and then you'll be going through quite a bit of trouble just to avoid being haxed, don't you think?
…
If Jolteon has a Life Orb and HP Grass, it OHKOs some variants of Swampert, but I digress. From the standpoint of the teambuilder, how are you supposed to know what the opponent's Double Team user is? You can't just excuse it as "well, no matter what Double Team user you mention, I'll have an appropriate counter" because team building doesn't work like that. Are you seriously supporting running several no miss moves, phazers, Poison-type Toxic users, etc. just so that hax doesn't get the best of you?