To prevent accidental data errors I "include lib/accounts.ledger" in every file, a list of all allowed accounts (see documentation for the format), and then add "--strict" to my .ledgerrc" file.
Reorganising an account to go in a different place is just a global search/replace across all ledger files. I would say a search/replace is easier than what you would have to do in a different accounting system, but it's also more dangerous. It's a good idea to have a bunch of asserts in place in addition to the --strict mode to make sure that "ledger balance" still produces sensible results when doing that.