After doing so many dynamic events, it has become apparent that you can tell whether or not you can complete one within the first wave, because if you can beat the first wave then you can beat every wave after that. Throwing in a veteran or two at random times could go a long way in making it feel more varied, as well as not always sending the waves from the same one or two entrances, switch between multiple entrances. It would be best for these variables to be at almost entirely random times, that way it will also help the event feel different from every completing it more than once. And while you are at it making everything bars instead of timers or number or waves really helps avoid events feeling like chores as well, unless the timer is a time limit to kill an NPC or something along those lines.