Not that I have any real experience with client internals, but my basic understanding leads me sometimes to fantasize about the client layer.
Anyways, my random thought is that if checkpoints were a thing, you could start at some recently agreed upon checkpoint (validator stake >2/3 pool), ask to download the state from others at that checkpoint (there is a proof of correctness), and then start downloading blocks matching in reverse order until either 1) you reach the genesis block or 2) you are up to date on what you care about (new accounts don’t care about much except the contracts they want to interact with eventually).
You could announce a syncing state and disable transactions to contract accounts you haven’t fully back-validated yet (i.e. validated the creation transaction) if you wanted to be extra cautious.
I think checkpoints enable some cool assumptions and in my inexperience with client implemetations I wanted to ask this question to see if anyone thought of the pros and cons with this approach.