I have written a new plugin that allows immediate promotion of users, given certain triggers. It is based on the existing promotions task, but that task runs synchronously on a specified timer period.
I needed it as in some situations (such as when permissions change between the before/after usergroup) a delay in promotion is unacceptable.