There is no magic to that procedure. If some users are on a long leave, then there is a chance that they cannot be distinguished from employees that no longer work for the company.
Encourage good practices to delete objects as a part of account life cycle.
Logicaly deleted objects (not-permanently) are not counted against license and can be easily restored.
For aging process and physical object removal, export machine objects to SDB. That will allow them to be restored if mistake is made.
You do not need to care about physical removal of user objects.
Thanks for the advice!