Consider this: many great "theoretical" discoveries in history, including those in CS, were not theoretical at their inception. They were the result of people trying to solve practical problems -- not the product of a bunch of debt-ridden students trying to maximize GPA in an ivory tower. This cannot be overstated.
At the end of the day, the distinction between academic and practical is largely self-imposed, at least partially ego-driven, and probably highly inefficient for society as a whole. If you want "practical" people to engage "theoretical" problems, then make it practical for them.