In terms of stats:
Entei HP
Ho-Oh Atk
Lugia Def
Mewtwo Spd
Mewtwo Spl Atk
Lugia Spl Def.
I would recommend either Mewtwo or Lugia based on those stats, but Mewtwo is incredibly late in the game compared to Lugia in SoulSilver.
You can catch any legendary Pokemon with an ultra ball as long as you get their hp down and you have to have a lot of them. Try to put it to sleep or paralyze it to make the catch easier.
Best non-legendary water pokemon would be Gyarados. Best legendary water pokemon is Kyogre.
there is no best spot
grovile
If you don't have enigma stone, keep it for Latios is my advice
I have Articuno I found that dusk balls are the best I caught it with it!
1. Mewtwo, if you catch him in the Cerulean Cave, he will be at Level 70!!!
There is no such thing as the Shadow Luiga. To catch the Shiny Lugia though, you need to find the code.
a master balls can unfailingly catch and Pokemon unless the Pokemon owned by another trainer and it is best not to waste them on weak Pokemon easy to catch and use them on dialga and other legendary Pokemon you only have one chance to catch in the game.
This is VERY debatable. Most say Mewtwo, Mew, Raikou, Entei, Suicune.
there are many legendary Pokemon in Pokemon heartgold, but the best is HO-OH
You get their health really low and use a ultra ball the best