Hi,
The following is the best way.... If you are not administrator of the new web server.
1. Backup data from your existing hosting company....like wesite data, database and email . You can download your email data in you outlook.
2. Now Host your website on the New server , If you are using hosting control panel then it will automatically create server A records. you can also get temporrary URL from the hosting company to test the website before pointing to new server
Now without downtime....
1. Change A record of the website to the new server like www, * , MX record to point to new server service.
2. Change Name server of the website to New hosting company.
Above 2 steps reduce 0 minute downtime of the website.
Regards,
sam