In fact, "бывалый" has nothing to do with the age. Although it's hard to imagine a young person who "бывалый" is, it can be in some cases.
Valda, "опытный" is more specific word, it usually implies a set of the characteristics, specified by the context. Like "опытный врач", "опытный водитель" or "опытный любовник". It means that a person is high-skill in something, experienced.
"Бывалый" specifies a person in general. It's still a characteristic of experience, but it more says that a person "knows life". For example, "бывалый водитель" implies that a driver saw a lot of different situations, troubles, accidents etc, s/he can solve problems with a car because it's an ordinary thing for them, knows a lot of stories and so on. When we say "бывалый" we usually imagine a "weather-beaten" man (or object). So, you can say "бывалый самолет" or "бывалая машина", for example. It means that a car can "tell" you a lot and usually the car looks crappy. But you can't say "опытная машина" (first, because a car can't have skills, second, actually it means "experimental car/machine", so "опытный" also can be "experimental").
I hope it helps.