Anyone know if it is possible to script the creation of a DB Table Historian? When I script the creation of a database connection, the corresponding tag historian is created automagically, but there is no built-in system functions for managing the historians.
Nothing supported - you'll have to reach into complicated scripting territory to do so. Anything you do come up with will not work in 8.3, guaranteed - though the migration path should be very easy via the REST API or, if it's a late enough upgrade, the system.config namespace we're planning to add to 8.3.
Ok.  While I’m not afraid of the complicated scripting, I do plan on upgrading to 8.3 soon, so it might be worth the wait.  If I understand this correctly, the system.config namespace would allow to pretty much CRUD any of the configuration settings we already do on the gateway?  (i.e. remote tag providers, user sources, audit profiles, security services, gateway network approvals…etc.)  These are some of the things that manually have to be created anytime I add a new remote/edge site.
That's the plan. Everything that you can do via CRUD in the REST API will be possible via system.config - some ergonomics will obviously be different but the final capability should be exactly equivalent.
Worth noting also that there may be better options for the "manually create all the things each time" story - e.g. the external resource collection in 8.3: