A quick follow-up, I did some reading on the subject.
I tried out the anticipatory scheduler as well and it had about the same results, ridiculous wait times for occasional I/O requests but not quite as long as the now-default cfq scheduler. Pretty nearly, though.
Then I tried the deadline...