We are also fully automated, and it's the only way I can recommend.
Automation can be done with whichever tool you want. Scheduling gam works great, based off some source CSV that is automatically and regularly updated. GCDS or the built-in Directory Sync are other ways, or with some other identity management tool with API capabilities.
Set a retention period (it can be whatever you want) and then stick to it. It's fine to have different periods for students and staff. Motivate why they are chosen, and then you're set.
There are also zero valid reasons to keep any real user accounts forever, nor to ever create/keep alumni accounts. that's just wasting resources you need for active users. Do note that I don't count utility/service accounts to "real users", as they are not supposed to be used for logging into things, but to manage services and/or necessary processes, which should never be owned by real-user accounts.
--
https://wheretofind.me/@NoSubstitute