(Unfortunately, the planned mind reading extension to the kernel is still a few years out.)
So I know some people may read this and think "haha, funny joke" but given that most users are extremely predictable regarding what programs they use and when and how they use them (same with web browsing), shouldnt it be possible to gather user activity over time and analyze it to help improve scheduling. Hell, programs are more predictable about how they call for reads and writes, if the IOS preempts the program by loading stuff into cache that is likely to be needed when it doesnt have anything else to do we could totally speed stuff up. In theory beyond some basic data security needs the IO scheduler could vastly improve its cache performance by simply being fed data on what things the user and/or their programs tended to access repeatedly. Maybe this is too high level for some basic tasks, but it seems like there is plenty of use data that could be gathered to help teach an IOS what types of data are more likely to see repeated reads.
On the other hand, we could simply use OUR brains to write better code so that we didnt have to waist our computer's valuable time. Or for that matter other programmers' valuable time that could be spent making computers better (more efficient) tools rather than writing mindbogglingly complex statistical predictive IO schedulers to cover for our inability to follow proper program design.