I use ISBoxer and reassigned left-mouse button to always move (mouse 6). Just because shift+mouse 1 is different key binding, ISBoxer ignores it and characters attack by standing in place.

For all other cases (menus, etc) - I have action button assigned to a side mouse button (got R.A.T. 5 mouse, in settings it shows up as mouse 5).