Want to pursue a STEM or other high-paying degree? No problem, but you have to pay a lot more for your degree.
Isn't paying more for something that's worth more just normal market behavior? For that matter, engineering and science programs typically also cost the school more, but are somewhat subsidized by tuition from cheaper humanities programs.
That said, there is the issue that engineering degrees are also more valuable to society, which may want to provide its own incentives.
My idea: involve the employers in these ISAs. Plenty of employers already cover tuition in exchange for working a set number of years with them (including the U.S. government). Universities can act like unions, doing collective bargaining on behalf of the students (I am not assuming the universities' intrinsic benevolence here, but presumably students will choose to go to universities which can get them the best deals). Conversely, government and businesses might do a much better job of bargaining down tuition prices than loan subsidied college students have been doing. And instead of gambling on the future, students enter into the arrangement knowing exactly when they are going to be able to afford a mortgage. There are plenty of potential problems, but I think the present process of "guess a good major to land a job from an unspecified employer and make indefinite earnings and by the way your wager is $100k and 4-6 years of your life" leaves a lot to improve.