I don't think keeping two copies of the site running simultaneously is a good option for me. The site is database-driven and I don't think it's possible to keep two copies of the database in sync without opening a can of worms.
I agree it may not be worth to go there just for DNS propagation period. I would however then add a static HTML page to the old host explaining the site is moving hosting, please come back in a day when the new hosting is up. I would also return HTTP 503 on the old host together with this page.
So anyone whose DNS still resolves to old domain will get a friendly invitation to come back and if Google resolves to the old domain, Google will get the 503 response indicating the site is temporary down for "maintenance".