I just came up with an idea to solve the problem with caps and overfilled shops:
1) You can acquire professions, mercs or whatever from NPCs in exchange for your scrap. So lets say you dont have 1500 caps so you pick an option "I have something for you" and you trade your things for the total sum lets say a combat shotgun + whatever to be above 1500 and click trade like giving, the merchant accepts and gives you what you requested
2) You acquire professions for a favour - the seller ask you to bring you something of a value to him so lets say armorer for lvl 1 would like to get you 10 golden gecko skins or 10 radios etc. The lvl gunsmith maybe ten 9mm mausers from raiders (from encounters only). I dont know about the mutants for 35k

I guess it would be good for lower/less cost profession.
The thing is that theres no caps in the market, they respawn rarely and are bought by 1-2 people at once. This way (2nd idea is better for me) some useless junk would vanish from the shops. Criticism time!
Edit: tl, dr: What I meant is to acquire professions via delivering certain items for that profession (lets say Gunsmith profession trainer could accept 10mm pistols, 2 shotguns and 200 slugs for a profession 1 (just example).