Just a random collection of tips that might be useful to someone.
Dittos
The best spot I've found for capturing Dittos for IV breeding is Route 47 (You will need Surf + Waterfall to reach the patch of grass). Route 34, Route 35, and the Cerulean Cave are also options, but they appear much less frequently than on Route 47. Route 47 also has the benefit of occasionally being a swarm location for Dittos, further increasing the chance of encountering one.
If you happen across level 34 Dittos (which are relatively common), they allow you to see at-a-glance if you have a max IV or not. For level 34 Dittos:
*HP maxes at precisely 87.
*Stats negatively affected by nature (IE: Attack with a Bold Nature) max at precisely 43.
*Stats not affected by nature (IE: a Bashful Nature, or an Attack with a Careful Nature) max at precisely 48.
*Stats positively affected by nature (IE: Attack with an Adamant Nature) max at precisely 52.
It wasn't mentioned what Legendary Pokemon are available in HeartGold and SoulSilver. Someone might find it useful. Also if you happen to defeat any of the Legendaries without capturing them, you can fight them again after beating the Elite Four, until you finally catch then (usually).
All roaming Legendaries can be tracked on the map function of the PokeGear.
* Lugia
HeartGold - After defeating the Elite Four and receiving the National Pokedex, receive the Silver Wing from the old man in Pewter City. Lugia is found in the Whirl Islands (you will need Surf, Whirlpool, Strength, and you will want Flash), talk to it to begin the fight. Lugia is fought at level 70, it's ability is Pressure, and it knows AncientPower, Aeroblast, Safeguard, and Punishment.
SoulSilver - Help the five Kimono Girls throughout Johto, then defeat them in Ecruteak City to receive the Silver Wing. Lugia is found in Whirl Islands (you will need Surf, Whirlpool, Strength, and you will want Flash). At the bottom of the Island chain, the Kimono Girls will do a dance and Lugia will appear. Talk to it to begin the fight. Lugia is fought at level 45, it's ability is Pressure, and it knows Extrasensory, Aeroblast, Rain Dance, and Hydro Pump.
* Ho-Oh
HeartGold - Help the five Kimono Girls throughout Johto, then defeat them in Ecruteak to receive the the Rainbow Wing. At the top of the Bell Tower in Ecruteak City, the Kimono Girls will do a dance and Ho-Oh will appear. Talk to it to begin the fight. Ho-Oh is found at level 45, it's ability is Pressure, and it knows Extrasensory, Sacred Fire, Sunny Day, and Fire Blast.
SoulSilver - After defeating the Elite Four and receiving the National Pokedex, receive the Rainbow Wing from the old man in Pewter City. Ho-Oh is found at the top of the Bell Tower. Talk to it to begin the fight. Ho-Oh is found at level 70, it's ability is Pressure, and it knows AncientPower, Sacred Fire, Safeguard, and Punishment.
* Raikou and Entei
At the bottom of the Burned Tower in Ecruteak Tower, Raikou, Entei, and Suicune will run away. Raikou and Entei will wander Johto, and will attempt to flee.
Raikou is fought at level 40, it's ability is Pressure, and it knows Flamethrower, Fire Spin, Stomp, and Roar.
Entei is fought at level 40, it's ability is Pressure, and it knows Spark, Quick Attack, Reflect, and Roar.
If you fail to catch it, beat the Elite Four, and visit the Burned Tower again.
* Suicune
To ultimately capture Suicune, you need to defeat the Elite Four and receive the National Pokedex. After the encounter at the Burned Tower, you need to follow it to Cianwood City (and fight the trainer Eusine), then Route 42 (You will need Cut and Surf), then Vermilion City, then Route 14, and finally you can fight it at Route 25. Talk to it to begin battle (unlike Raikou and Entei, it will not try to run away) Suicune is fought at level 40, it's ability is Pressure, and it knows Rain Dance, Gust, Mist, and Aurora Beam.
* Mewtwo
After earning all 16 Johto and Kanto Gym Badges, Cerulean Cave opens up. Mewtwo is found at the very bottom (You will need Surf and Rock Climb, and you will want Flash). Talk to it to begin the battle. Mewtwo is fought at level 70, it's ability is Pressure, and it knows Power Swap, Amnesia, Guard Swap, and Psycho Cut.
* Articuno
Articuno is found in the Seafoam Islands (You will need Surf and Strength). Talk to it to begin the battle. Articuno is fought at level 50, it's ability is Pressure, and it knows Ice Beam, Reflect, Agility, and AncientPower.
* Zapdos
Zapdos is found outside the Power Plant (located on Route 10) after earning all 16 Johto and Kanto Gym Badges. Talk to it to begin the battle. Zapdos is fought at level 50, it's ability is Pressure, and it knows AncientPower, Discharge, Agility, and Charge.
* Moltres
After earning all 16 Johto and Kanto Gym Badges, Mt. Silver opens up. Moltres is found within (You will need Surf, Waterfall, and Rock Climb to reach Moltres). Talk to it to begin the battle. Moltres is fought at level 50, it's ability is Pressure, and it knows Flamethrower, Air Slash, Safeguard, and AncientPower.
* Latias and Latios
Directions for unlocking Latias and Latios are the same. Latias is only fought in HeartGold, while Latios is only fought in SoulSilver. Both will attempt to flee when you fight.
First go to Saffron City (after receiving the National Pokedex of course) and talk to Copycat; her house is directly south of the Magnet Train station, and hear how she lost her favorite Poke Doll. Then travel to the Pokemom Fan Club in Vermilion City and receive the Lost Item. When you step out of the Fan Club, Steven will tell you about either Latias (in HeartGold) or Latios (in SoulSilver). From that point on the version's respective Pokemon will roam Kanto.
Latias (HeartGold Only) is fought at level 35, it's ability is Levitate, and it knows DragonBreath, Water Sport, Refresh, and Mist Ball.
Latios (SoulSilver Only) is fought at level 35, it's ability is Levitate, and it knows DragonBreath, Protect, Refresh, and Luster Purge.
* Kyogre (HeartGold Only)
After defeating Red in Mt. Silver, talk to Professor Oak in Pallet Town, then talk to Mr. Pokemon on Route 30 to receive the Blue Orb. Visit the Embedded Tower on Route 47 (you will need Surf and Rock Climb) to encounter Kyogre. Talk to Kyogre to begin the fight. Kyogre is fought at level 50, it's ability is Drizzle, and it knows Water Spout, Ice Beam, Aqua Ring, and AncientPower.
* Groudon (SoulSilver Only)
After defeating Red in Mt. Silver, talk to Professor Oak in Pallet Town, then talk to Mr. Pokemon on Route 30 to receive the Red Orb. Visit the Embedded Tower on Route 47 (you will need Surf and Rock Climb) to encounter Groudon. Talk to Groudon to begin the fight. Groudon is fought at level 50, it's ability is Drought, and it knows Earthquake, Eruption, Rest, and AncientPower.
* Rayquaza
Show Professor Oak a Kyogre and Groudon that were both caught at the Embedded Tower (Pal Park Groudon and Kyogre won't work!) to receive the Jade Orb. Then return to the Embedded Tower to encounter Rayquaza. Talk to Rayquaza to begin the fight. Rayquaza is fought at level 50, it's ability is Air Lock, and it knows Outrage, Air Slash, Rest, and AncientPower.
Other Semi-Rare Pokemon
* Sudowoodo - Fought on Route 36, use the SquirtBottle to start the fight. This is the only one in the game, but you can fight it again by defeating the Elite Four. It is fought at level 20.
* Red Gyarados - You must fight the Red Gyarados to advance the story, and is guaranteed to be a shiny Gyarados. It is found in the Lake of Rage, and fought at level 30. If you defeat it without capture, you can fight it again by defeating the Elite Four.
* Snorlax - You must fight Snorlax to advance the story. Once you receive the Poke Flute radio station on your Pokegear radio, set the radio to the station, then talk to Snorlax on Route 11 to begin the fight. It is fought at level 50. If you fail to capture it, defeat the Elite Four again to make it reappear.
* Lapras - Every Friday at the bottom of the Union Cave, after defeating the Ecruteak Gym leader, you will find a Lapras. You will need Surf to reach it.
Gym Leader Rematches
If you're looking for an alternative to fighting the Elite Four over and over for lots of experience points, Gym Leader rematches are an option.
1. Call the appropriate Gym Leader for your day of the week and hour (ie: Saturday at around noon you'll be calling Whitney).
2. Travel to Saffron City, and visit the Fighting Dojo next to the Saffron City Gym, and fight your rematch.
3. Step outside the Fighting Dojo.
4. Repeat.
Because the Gym Leaders typically specialize in only one type of Pokemon (minus Blue of course) it's relatively easy to exploit weaknesses in their teams.
Pokeathlon
If you're looking to earn large amounts of points with the Pokeathlon, you'll need to first receive the National Pokedex, then unlock the Friendship room by winning every course (Speed, Power, Skill, Stamina, and Jump) with a single Pokemon, and setting the records for every event (you can use multiple Pokemon for this). Once you do this, you unlock the Supreme Cup. Although the game says it's harder, it's actually not. The benefit to this mode is, if you win a Supreme Cup course, instead of earning a 100 Point bonus, you earn a 300 point bonus, slightly lowering how many times you need to play the Pokeathlon for the desired amount of points.
The Pokeathlon in one of the few ways you can find most evolution stones, the Metal Coat, PP Up, Heart Scale, King's Rock, and Rare Candies.
If you're looking to *quickly* amass Pokeathlon Points, I recommend repeating the Speed course, and focus on Pokemon with a 5 star rating in Speed, and a 3 or higher rating in Stamina (for the Relay Run this allows you up to two complete laps before requiring a switch). Don't bother with Aprijuice, as the effects of Aprijuice wear off once your Pokemon are placed in your PC.
It's important to keep in mind that, even if you lose, you still earn points. You just won't earn as many.
You might also try a link Pokeathlon with another player, running the Master Course. The events for the Link Master Course are randomized, but you earn double the points as normal.