Instead of simply accomodating each feat by code, let the user specify some characteristics for each weapon worn.
This could also accomodate other penalties (dual wield, for example)
These modifiers could have templates for common uses (like the two example given)