What would likely cause directories in /var/run to disappear / not be created on startup? (CentOS 7.3)

{/var,}/run is vaporized by systemd on boot. It's a wonderful and entirely unexpected surprise with such low value.

If you want to ensure a directory exists after boot, you'll have to hook something in with the tmpfiles section of systemd.

d /run/httpd   710 root apache
d /run/httpd/htcacheclean   700 apache apache

d /var/run/mariadb 0755 mysql mysql -

And, if your tmpfiles entries are missing, I'm betting you hand-roll your own packages (and tune, and test, and promote, for every.single.release). As long as we agree it's usually a bad idea for anything with scale or an SLA, that's cool though.