I don't know if you're still working on this, but you might find it useful to look through the open-source AirSane AirScan implementation on GitHub. AirScan does not seem to be fully compliant with eSCL, so you could look through the AirSane code and issues to see what quirks they've specifically had to accommodate. (In particular, sheet-fed scanners do seem to be an issue, but apparently there is a way to make them work. You can look through the AirSane issues to see how the developer has handled them there.)
Obviously, keep in mind that AirSane is only available under the GPL 3.0 license, so if you're planning on publishing your driver under any other license, you can look through the AirSane code to help you understand potential solutions your problem, but you can directly incorporate code from AirSane only if you use the GPL 3.0 license yourself. I am not a lawyer, but it is my understanding that embedded code in commercially distributed hardware still counts as "publication" even if you don't distribute firmware updates after the fact.