Unfortunately, all of this is internal to the Unity 3D engine, so there's not really anything we can do -- it's a black box to us. They tell us a certain key or button has been pressed, we say "ok, so do x, y, and z" and that's it. When they tell us the wrong key has been pressed, there's nothing we can really do or any way for us to detect it.
That said, if it's just giving you strange names for what is being detected, then I imagine that would not be a problem. Ie, if it thinks that A on controller 2 is A on controller 1, but that's consistent, then presumably that would continue to work in-game. So long as A on controller 1 was not ALSO being detected as A controller 1.
In other words, if they are labeled wrong but actually distinct, then it's just a mild cosmetic annoyance (but still strange as heck). If they are actually binding themselves on top of one another, then that's more of a challenge.
I have heard of a problem similar to this with a multi-adapter that our level designer was using in order to connect PS1 controllers to his computer. Apparently that multi-adapter caused all sorts of mild confusion in a lot of games, but in this game (aka, any Unity 3D engine) were being detected as just a single controller input.
In a case like that, where the hardware is being really unusual and not playing nice with Unity 3D, really the only workaround is something like unbinding all (or most) of the gamepad buttons in the game, and then using something like
Joy2Key or similar. I hate having to recommend external software for something that should just work out of the box, but it sounds like there's something unusual with your setup, one way or the other.
Hope that helps!