I think the future is more automated, independent learning. At my kid's school, a good chunk of the math curriculum is taught by computer. They go to a lab, and get to play math games that change according to their success with what they've been presented already. So if a kid has trouble adding small numbers, he'll get more of those problems than a kid that has that figured out, and can move forward to adding large numbers, multiplication, division, or whatever else still challenges him, regardless of his age.
This also handles attention span issues. If a kid can be challenged with new exercises and learn for an hour and a half straight, great. If another one has trouble learning new material late in a class, he will do worse, and face easier material as the class goes along.