Ugh, okay. So the issue is that DirectInput-based devices are horribly inconsistent with how they report their status. In order for me to be able to detect when a stick or a trigger is moved, I have to know when it's not being touched, and when it's being moved (of course). Unfortunately, there are apparently some DirectInput devices that don't behave as expected. For example, no movement for one device might be 0, while 0 might mean pressing up with another device, so it's somewhat of a nightmare.
I wanted to avoid making the user have to calibrate every single device, but at this point I don't really know what else to do. It's possible that I can still make it all work by disabling the triggers and the right stick for DirectInput devices, as those are what seem to cause issues, but then of course DirectInput devices won't work at all with the right stick or triggers.