Theres iMouseFix, which is free, but I havent been able to get it to how I like it with that.
The two programs Ive used that work best are SteerMouse, and USBOverdrive.
It seems to depend on your mouse which one works best, they both have free trials so you can find out which one works for you.