I just use rEFInd with auto discover turned on. I installed the windows bootloader onto my Linux boot partition and haven't had any issues with Windows overwriting my boot entries on update.
Nah, you just need to develop a custom EFI app to boot on it. This app then calls a server on your network which will answer whether to boot on Linux or Windows (or any OS installed really).
And voilà, you don't need to manually select the OS anymore (well, you still need to say to the server what to use, but you can do it beforehand, not during the boot)