I don't think there is a way for those events to work differently (i.e. they are always going to be haphazard).
Have you taken a look at how the standard bliz frames that show health/mana are implemented?
Provided you avoid putting in too much activity in your onupdate it isn't actually too problematic (there is also the option of setting up a make shift timer, so that it only updates information perhaps every 200ms for example)
|