This is a workaround – a valid one, but a workaround no less.
The real fix is for events to trigger at the daily reset for each player and least until the next one (or two, whatever). Yes, this means they will start and finish at different times over the course of a day, but that doesn't matter frankly.
This would work even with competitions. It would simply mean that people in the east start earlier and finish earlier, whereas those int he west start later and finish later. It would also mean that those in the east would have to wait several hours after their even has finished before receiving the final ranking rewards, but I don't see this being a real problem.
Seriously, PerBlue, you can have this solution for free, no consultation fee. This would improve things for pretty much ALL of your players, so why not? I'm sure it will require a fair bit of reworking of your game systems, but it's worth it for the health of your player base – right now, literally every time there is an event or a competition the forums fill with unhappy customers. This is NOT good for your bottom line long term, so why not fix it?