There isn't one Pokemon that is "better" than the others; how good they are depends on their stats, level, moves, and how you use them.
Rayquaza
in Azalea town you can find and little pond with a rock waterfall. if you surf in it you can find poliwirls, which evolve into fighting types.
To get a Shedinja in Pokemon Heart Gold you must trade it from either Pokemon Ruby, Sapphire or Emerald. Jacko25
in heart gold cerulean cave in platinum i don't know
Of course
in celestic town
Fire, Fighting and Ground.
Rayquaza
The best place to evolve a Pokemon in Pokemon Heart Gold is at Mt. Silver.
in Azalea town you can find and little pond with a rock waterfall. if you surf in it you can find poliwirls, which evolve into fighting types.
It's Darkrai. You can't get him in Heart Gold.
Pokemon Heart gold is different from Pokemon Gold cuz heart gold has better graphics new Pokemon and new events
you should use a fighting type like machamp
Probably electivire or ampharos.
water asorb or volt asorb.
Pokemon Heart Gold And Soul Silver.
use multi type Pokemon