Hi I stumbled upon this post as I was having difficulties with TeamViewer loading at startup as well. I believe I may have a solution to this problem that I thought would be worth adding to the topic.
First, let me start off by saying I am running Windows 10 Pro on the system that I am seeing my issues with, the Home versions do not seem to be doing what I am having trouble with. Additionally, I have tried reinstalling TeamViewer to reload the services with some success, however, it only lasts temporarily before I start having issues with TeamViewer not loading at startup. I believe this may be something to do with Windows itself rather than the program, as this new version of Windows is supposed to be focus on security. With this assumption, I believe every time Windows has a major patch, as I know there have been a few, it may possibly be removing the service from it's startup causing the program to not load. The solution that I would propose would be to add a registry entry that will force the program to load in the run Key. To do this open regedit, go to "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" Key and add a new string entry in the right side section. Here is what I entered into the Edit string dialog:
/min "C:\Program Files (x86)\TeamViewer\TeamViewer.exe"
Make sure to keep the quotation marks around the path. Additionally you may need to edit the path name if you installed the program into a different folder.
I hope this helps, so far it is working for me, but I will know for sure after the next major update to Windows.