I had a similar issue with imprecision when mapping 4-way games to an Xbox 360 controller. The solution I settled on was to map directional shooting to A/B/X/Y and then use combo button presses for any games requiring 8-way shooting. The resulting keyboard hack file would look like below (for an Xbox 360 controller), including mr_me's opposite keypad trick which was unknown to me until I saw this post! This approach also works well in sports games requiring 1-9 keypad zone press e.g. Slam Dunk, Spiker & Super Pro Football (4 buttons and 4 combos for 1-4 and 6-9, plus RB as "5").
ADD_COMBO 0 JS0_BTN_02 JS0_BTN_03
ADD_COMBO 1 JS0_BTN_03 JS0_BTN_01
ADD_COMBO 2 JS0_BTN_00 JS0_BTN_01
ADD_COMBO 3 JS0_BTN_00 JS0_BTN_02