The way I see it, not all the seasons followed real time. This is especially true for those seasons that were stretched out by fillers.
So:
Kanto: One year; even says so in canon.
Orange Islands: A few months; probably six months at the most.
Johto, Johto League Champions, Master Quest: All combined are one year, due to the fillers.
Pokemon Advanced/Challenge/Battle: All combined are one year, for same reason.
Battle Frontier: Not quite sure...
So Ash would be somewhere around 14 at the beginning of the Shinou season. It's possible-my brother's 15 and still mostly looks like a kid.