The solution is to preemptively block key times which guarantee you can still schedule your flexible task. In this case, you need to block 30 minutes (or whatever your smallest schedulable unit of time is) in the middle of the 2 hour window, either right before or right after the midpoint. This will leave the maximal amount of schedulable time while still guaranteeing no single event can wreck your lunch.
Just an observation in case it's useful to the founders here.