I have been using gamepad mapping software to assign additional functions to the unused buttons. I'm using xbox360 controller and have left everything at defaults except X button is now roll (was revert). Revert is now on the D-pad.

L trigger - middle mouse
R trigger - turbo fire
D-pad - # keys
thumbstick buttons - more # keys
Y - shift key + cook (default)
shift state:
L&R trigger - more # keys
D-pad - even more # keys
L-stick button - screenshot (ctrl+alt+p)
I also added rumble to some of the buttons (roll, turbo fire, and R-shoulder). Y is shiftstate since cook does nothing when swimming around, hold it to change the functions of other buttons. So some things I can do with this setup is rarely touch the singing menu since every # shortcut is mapped. I can look ahead with L-trigger + thumbstick. I can hold roll + turbo fire and swim through schools of fish sucking up items with little effort.
I still have to touch the mouse sometimes, but not during the action. I need it to pan and zoom the map. and the item menu is just faster with the mouse. Also I for the life of me can't figure out how to equip armors with the gamepad. I just can't get over to that use button.
How do you set up your controller?