Players had to wait until getting Waterfall in the original Pokemon Emerald. However, you can catch Bagon and Shelgon in Meteor Falls. You can get access to them a lot sooner by using Surf on Route 115 north of Rustboro City and searching the tall grass near the old trainer.