I have seen a thread about this on here gut it gives no explanation on how it was solved and is very old.
I think the solution was to mod the stick with an IPAC usb encoder.
So i bought some electronic switches and a custom usb keyboard encoder (ipac2), installed it in my atrox and ended up with a fully working xbox one and raspberry pi machine.
Can you try to test the controller with jstest, from the command line and see if the inputs are registered ? Exit EmulationStation and run from the terminaljstest /dev/input/js0
You can exit the test by pressing Ctrl+C.
I will give that a try and get back to you thanks.