An Azure service that is used to provision Windows and Linux virtual machines.
My approach to this problem is to employ precisely the solution you have suggested about automatically turning the VM on.
Firstly, I tend to use the daily Auto Shutdown as a fall back in case i forget to turn the VM off when I am using it. (Say at 7pm).
Secondly, I configure scheduled updates on the VM which occur at 5pm on a Sunday (actually i tended to choose Friday, but pick whatever day works best for you. I just prefer to pick a day when the VM would usually be on, to avoid starting it purely for patching).
Lastly, I leverage automation to start the VM up - just in case I hadn't been using the VM that day.