We spend 3.5% of our GDP on defense and that's actually far more than most countries. We have the 6th highest GPD to military spending ratio in the world. The countries who spend more of their GDP are relativity tiny. They amount to 11% of the total global spending on defense vs the USA's 39%.
The second largest GDP is China- they spend 1.6% of their GDP on defense. Third is Japan @ 1.1%... You get the idea.
Regarding the 2% NATO obligation- most members don't make it so it doesn't seem to be a real obligation.
Consumers will choose to buy products from companies who don't spill molten sulfur so the invisible hand of the market will fix this situation any moment now.