He is just off to the right hand side of the Pokemon Centre.
*You can only battle him once he deems you strong enough. ie having 7 of the 8 badges from Kanto*
On Pokemon Silver, Gold, and Crystal Blaine is on Cinnabar Island. On HeartGold and SoulSilver he is at the Seafoam Islands.
Go east of Cinnabar Island to the Seafoam Islands.
Cinnabar Island.
His name is Blue. He's in Virdian City in Kanto. However, You can only battle him when you have all the other gym badges in Johto and Kanto (Note: Blaine is found in the Seafoam Islands, when you visit Cinnabar you'll see why) and talked to him on Cinnabar Island.
Go east of Cinnabar Island to the Seafoam Islands, the gym leader is there using a cave for his gym.
Well after you defeat 15 gym leaders in Pokemon HeartGold / SoulSilver go to Cinnabar Island and talk to Blue.
Firstly, have to defeat the 7th gym leader. Then you go talk to the trainer next to the Pokemon center on Cinnabar Island. He is the 8th gym leader of Kanto, Gary. Gary is in Viridian City.
Blue (The eighth gym leader) is waiting on Cinnabar. He won't battle you unless you've beat the rest of the gym leaders
He moved to the seafoam islands. That's east of cinnabar island.
In the original Silver game, the gym leader was Blue and you would find him at Cinnabar island. After meeting him there, you can go back to the gym and fight him.
Blue is on Cinnabar Island. But to be able to fight him, you must find Blaine the old Cinnabar gym leader. He is in the seafoam islands. Beat him, and then talk to Blue again. He will then return to his gym, where you can fight him!
Blue can be found at Cinnabar Island. You have to defeat the other 7 Kanto gym leaders before you are able to battle him.