You could use the upcoming address configuration loading feature of Address Hierarchy. It loads the address template, the address levels and the address hierarchy (the CSV) upon starting the module.
This will be released as part of 2.11. For now you would have to use our fork and clone & build the ADDR-109 branch. The PR is still being reviewed but hopefully this should be merged in soon.
Would be great to get your feedback on this.
It's pretty straightforward, the address configuration must be copied into configuration/addresshierarchy ... and that's it, just let the module start.
Here is a configuration example, you can ignore the .properties files for your sake.
This example loads in 16,000 entries with no problem.