Why do only update / rebalance every 30 minutes? Is that because of the per-hour billing (so replacing an on-demand one only part way through its life is a mistake). If so, it still seems like you'd want to inspect every 5 minutes or so (keep on-demand until it reaches > 60-frequency).
Disclosure: I work on Compute Engine (and launched our preemptible VMs product).