You can try updating the firmware of the controller:
- Connect a controller to your Xbox One with a USB cable. Keep any headsets connected to the controller.
- Connect to Xbox Live.
- Press the Menu button
- Go to Settings > Devices & accessories. Select the controller. If you have multiple controllers attached, you can select Buzz – which
will cause the selected controller to vibrate.
- Then select Update to download the new firmware to the controller attached via the USB cable, and the screen will show the Updating controller... progress screen
- When you see the Controller updated screen, press
B to go back to the Devices & accessories main page
- Reselect the controller, and the Firmware version should now be the most recent
Retrieved from the source above - slightly reworded
See if this fixes the problem. I know that even sometimes my controller will not turn on my Xbox One, though this doesn't happen more than 1 out of 10 times, and it usually doesn't repeatedly do it.
You can also try re-syncing the controller with the Xbox. With the Xbox on, press the button on the side of the Xbox. Now press and hold the button the top of the controller (see screenshots).
Both the light on the Xbox and your controller will be flashing. Once they sync up, they will become solid again.