best practice on pushing staging development (database/uploads) to the live server

You can use WordMove. I have been using WordMove for deployment from last 3 months and it helps easily sync your local and live instance.
And its very easy to use as well.


Wordmove is a gem that lets you automatically mirror local WordPress installations and DB data back and forth from your local development machine to the remote staging server.

https://github.com/welaika/wordmove