How to make custom entity type revisionable with existing content? I'm trying to make a custom entity (with existing data!) revisionable, but I run into multiple very serious issues including schema update errors, difficulties with creating revision data for existing content, and so on...

Has anyone done something similar successfully? Is there a fairly simple way to do it?
Yes, it is highly complicated and there is currently no easy for such a switch.

Upgrade path between revisionable / non-revisionable entities is the core issue to make this easier. You could rely on the patch there but I'm not sure if it is fully working right now.