I think there are really too many variables at play here, @jonbu, my initial advice is to just leave this one and not automate it. 😉
What I would suggest is a 'Suggestion to Delete' email sent to the person that makes the event.
So with this flow, only check to see if there are any events that occur at the same time as the intended event. That's all.
Because any other checks would start to get too specific, and you may lose matches if you try to check event titles, attendees, etc ... since even the slightest difference won't match.
If you allow the event to add, but send the creator an email stating something like:
"Oh, you appear to have scheduled this event at the same time as another, was this a mistake? If so, please delete the event."
Now you could run that as an approval flow, with a timeout, and if they approve the deletion, it deletes the event that they just made ... but then you're giving yourself a lot more to think about. 😉
I'm going to bow out of this one, but that's what little advice I'd pass into your thinking, here. 👍