If I'm not mistaken, the difference between a held and closed uncontrolled batch is fairly minimal — that is, it might just be the batch status column in T_BATCH. I would do a T-SQL trace to be sure that there are no other side-effects to closing a held batch, but if it does prove to be that uncomplicated, my approach would be to set up a database agent job to automatically close any remaining held ticketing batches at like 5am each morning.
That hasn't been necessary at my org because our box office supervisor staff includes a check for unclosed batches as part of their box office closing procedure. So if your front-line ticketing staff always has a supervisor present at closing, you might look into granting those supervisors the manager right over the front line group so they have the ability to administer that group's batches.