Assigning a deafult assignee to the task using Event Listener

I have been asked to work on adding a global event listener so that in case if there is any task created in process and does not have any type of performer (either assignee or candiateUsers or candidateGroup) then in that case it should assign to a default role.

Since we are using various different assignment services as task listener so its difficult to change all of them to handle such scenario and thus thought to add a global event listener.

I also need to make sure that the global event listener is executed after all the task listeners associated with it.

Can anybody suggest if it is achievable and which event should be best to place and event listener in this case, as I found that I cannot use TASK_ASSIGNED event, since when no type of assignee is associated with task this event will not be dispatched.