It is very simple, follow this below procedure and you can migrate your hosting without a single minute of downtime..
1) First, do not switch your Name Servers until you move all the data to the new provider.
2) Pack all your website files and Database from old provider.
3) Move it to the new provider and restore the databases and change the Db details in the necessary DB settings file.
4) Make sure the new moved website is working fine with your temporary URL, you can ask your web hosting provider to give temporary access URL with which you can check whether everything is working fine or not.
5) Final step, if everything is working fine, simply switch your name servers the new provider.
That's it, you won't face even a single minute of downtime, also it doesn't depend on a web host, actually it depends on you how you do that. Cheers!