That's why Focus Punch is often preceded with another move to prevent the user from taking damage, such as Substitute or a Sleep move. And with Dragonite's speed, Focus Punch won't work too well on it in-game. Focus Punch works best on a slow Pokemon like Snorlax or Kecleon (who, BTW, naturally learns Substitute).