I suspect there's a corrupt block but don't understand why neither bitcoind nor bitcoin-core have no issue when starting with empty wallets.
I would do a full rescan with the empty wallet. See if that gives a similar error.
Question: did you shut down Bitcoin Core (on both systems) before (and during) rsync?You answered this already while I was typing.
Also, I don't see a way to fix the corrupt block without downloading the blockchain from scratch
That is correct.
which would probably take months.
Depending on your hardware and internet speed, it should take much less time than that.
The only thing I can think of is that the blockchain got somehow corrupted, but I don't understand why neither client seems to notice with an empty wallet.
Try
rescanblockchain.
Also, I don't know how to fix it. Downloading the whole thing from scratch is only a desperate last resort option given how long it takes. There must be a better option.
If it's damaged, redownloading is the way to go.