Honestly I'm not sure which of these would perform best (since some of them might be overfitted for the datasets is aw), but since they each seem pretty reasonable for performance, I could run all 3 in parallel and just pick the one with the most desired result, and get rid of the one that is logged to the worst performance.
Find the event that starts the earliest in the day, tie breaker goes to the event that has less events occurring in the day (remove from further selection)
Find the event that starts the latest in the day, while still being later than the first event, tie breaker goes to the event that has less events occurring in the day