On topic: To get any off-brand controller to work properly, there is 2 solution:
A. (Highly recommended) Use xbox360ce, its a proxy to emulate any controller into a xbox controller (that have native support in most games) - it has an interface that can remap your buttons.
B. For games that allows custom mapping, you can disable the gamepad from the game entirely and use something like joy2key to map your gamepad to keyboard buttons and play with those instead.
Off topic: I own a DS3 and DS4 and I use them through SCPServer. Its a much more elegant wrapper that can setup to run as a background service. Motioninjoy have some nasty habits and in-app ads, plus its just really screams troublesome in all corners - there are 2 alternative wrapper for that too, but in general its driver is just wonky. SCPServer handles wire/bluetooth and driver installation a lot better. (Automatic pair to bluetooth when you have both the controller and bluetooth dongle plugged in.)
Controller is always a preference thing, and everyone's hands are slightly different, if you like it, that's awesome, no need to crucify or ridicule someone else for not liking the same thing. I had bad experience with xbox360 controllers, and the Logitech F310 while very durable, I just don't feel comfortable holding it over 30-40minutes, while I can happily hold my DS3 for 4-5 hours Monster Hunter sessions.