Recently we had a major server meltdown that required emergency migrations to Azure from ESX. Most of the moves went as planned for our 2008 R2 servers but one that was over 198GB for the OS disk was failing and nothing I did could resolve it. I found that it was running a check to be sure the OS disk was not over 128GB and that was the point that I needed a work around.
I ended up migrating the VM from ESX to Hyper-V then uploading the VHD to Azure, adding it as a disk and then creating a VM on top. Once I figured out all the commands I set to task uploading and it worked!
Below is the steps I took to accomplish this and hopefully it will help you!

11 Steps total

Step 1: Setup 2012 R2 With Hyper-V

In order to get everything prepped you will need to stage this on Hyper-V first and get the Hyper-V Intergration Components installed and VM Ware Tools uninstalled. Also important to note you need to have RDP access on as well as the firewall and rules for Public networks added so that you can connect to the Azure VM after you convert and upload.
I will go over this in a few steps in detail.

Step 2: Install Windows 2012 R2 and Hyper-V

Setup a new physical server with Hyper-V installed. This does not need to be very powerful but does need to have plenty of HDD space for at least 2x the size of the VM you are migrating. More HDD space the better. After install get all the Windows updates applied so the box is current.

Step 3: Install .NET 3 and 4

Open Server Manager and install the features for .NET - Run all available Windows Updates before proceeding

Step 5: Install Azure PowerShell Module

Step 6: Convert ESX VM to Hyper-V

Usually you can just convert and upload right to Azure with the new Virtual Machine Converter 3.1 but only if you have setup your servers with best practice guidelines and have 128GB OS disks with all the data / programs on a separate partition / VHD.
I have encountered many setups where this is not the case so here is how you work around that.
1. Open VMC 3.1 and step through the wizard choosing Hyper-V as your destination and then Localhost as the sever hosting Hyper-V.
2. Get the IP and root login for your ESX host and use those creds to enumerate the VM's on that ESX box for migration.
3. Choose the VM you want to Migrated to Hyper-V (*only 2008 R2 or better will work on Azure)
4. If the VM is running on ESX then it will want an admin login to uninstall VM Ware Tools before the convert. It does this via a snapshot on the ESX server then converts and then reverts the snapshot so it is a non destructive process and you can go back to the old ESX VM if needed.
Let the convert process and copy / create the VHD and VM for you on Hyper-V.

Step 7: Ready the Converted VM for Azure

Few key things need to be set in the VM before the move to Azure - Fire up the converted VM on your local Hyper-V 2012 R2 server and set the following
1) Remote Desktop needs to be on
2) Windows Firewall needs to be on and set to allow RDP for all profiles
3) Set a Local Administration User up for initial Administration
4) Hyper-V Integration Services Installed
5) VM Ware Tools Uninstalled / Verified Uninstalled

Step 8: PowerShell Script

Right click on Azure PowerShell and Run ISE As Administrator
Run Command
Set-ExecutionPolicy Unrestricted
Copy and paste the code in the next step below and hit the start button
First Prompt - Enter Your Azure Global Admin Creds
Second Prompt - Select the Azure Subscription (Pay-As-You-Go / Microsoft Partner Network)
Third Prompt - Select the Storage Location (*same region you want the VM hosted in)
Fourth Prompt - VHD disk you want to upload (*Be sure the VM is shutdown in Hyper-V)
Fifth Prompt - Enter the new VHD file name with .vhd extension.
Sixth Prompt - Enter the Disk Label Name (*Use quotes if you want spaces)

Step 10: VHD Upload Window

First step is to calculate the MD5 hash on the VHD file. This can take some time on large VHD's so the faster the machine you do this from the better that performance will be.
Second step will actually upload the VHD to Azure this is completely dependent on your bandwidth and can take hours for a large VHD file.
Third step will add the uploaded VHD to the list in My Disks under the gallery when you create a new VM.

Step 11: Create the VM

After the file completes upload then you can go create the VM and attach your disk.
Enter the Azure Management portal and click NEW at the bottom
Create a new VM from Gallery and choose My Disks at the bottom of the Gallery. You should see your uploaded disk showing for use just select it and hit next.
Set the size of the VM you want and be sure the OS is showing Windows.
Hit create and you will wait a bit while it gets provisioned and started. After that you can use the connect link to get the RDP shortcut downloaded and you should be able to remote in.
After you get in run Windows updates and reboot it a few times to be sure you get all your services to fire.
Polish up any changes to config files that run services to get the user names / ip addresses updated.
Next add the needed Endpoints so you can get to the services you need. These can be added at the VM create but I usually do this in the VM console and most of the time for just HTTPS.

In conclusion this took hours to pin down all the needed steps to get it up to Azure correctly and some time on the script so that it was clickable for the settings and you did not have to gather the needed codes and ID's from the portal first.
Hopefully this will streamline your Azure uploads and help you with disaster recovery in a pinch.

Please note I am still refining these steps as syntax and features change so check back for updates in a few.