The process you outline is not that different from how tinman does it:
https://gitlab.syncad.com/hive/tinman#taking-a-snapshot
If you have a local node, it's really not that time-consuming. Using tinman to do this, you end up with all accounts saved to a .json file.
Nice. Thank you @inertia. I will take a look.