2 Answers

In Pokemon Fire Red, a guy in Celadon City can teach it to one of your Pokemon. This is one way you might be able to do it, but I haven't tried, I'm just guessing and I don't know if the version you are playing is Fire Red. Aside from this, breeding with a Breloom (like PokemonBlack10 said) or another Pokemon possessing the move Counter works for a Happiny inside an egg.