You have to do it over and over.
At this point I can play every other day, if I'm patient. Getting really frustrated.
If the Launcher is stuck updating, it usually implies something is interfering.
Try restarting into Safe Mode with Networking and run the Launcher there, and see if the update applies:
If that doesn't help, remove the following folder:
C:\Documents and Settings\All Users\Application Data\Battle.net
Once here, right click on the Agent folder and select Rename. You can then rename the folder to Agent.Temp to ensure that it is not recognised by the game the next time it launches.
It is as if the updater only knows 0% and 100%, so you don't really know if its stuck or just slow.
So the fix for me was: After removing the Agent folder , when it asks for system password, click cancel.
If your still stuck, this support article was good: http://us.battle.net/support/en/article/troubleshooting-initializing-please-wait-mac