A queue would have some benefit to running large operations more reliably. However, architecturally it would have some complications.
Complications:
Being able to reliably claim a batch operation is done. - In order to come close to this, each batch operation would need its own queue
Avoiding multiple runs of the Batch operation putting something in the queue twice - deduping a queue becomes very expensive if deduping on addition.... though possibly faster if deduped after the additions are complete
Is the drush command and the UI run considered complete when the queue is fully populated or fully run? This would have implications to running in an update or deploy hook which would need all things to be fully done.
The queue item would have to refernence a specific batchop log in order to know which one to append data to.
Queue items might need a flag to say "I am the first of my run" or "I am the last of my run" ... or maybe different Batch op log ids would denote that.