I actually like the full DB dump method, which could be scripted and often can complete in just a few seconds. (Keeping your revisions under control and excluding cache tables etc. can reduce the size a lot.) You could even create a simple module to provide an interface for content publishers to trigger this process.
You do need to account for any content you might accept from users of your live site, such as comments or contact form submissions. If there is any - surprisingly often there is none - you could either use an external service, such as Disqus for comments or Marketo for lead generation forms, carefully segregate such submissions into a separate Drupal database which is not overwritten, or carefully not overwrite those affected tables during the export/import process.
Where it can be made to work, it may end up being the simplest, fastest, most reliable method. And a site which never accepts input from users (other than into external services) opens a lot of doors to being made much faster and more secure.