This might sound stupid but It works for me.
Buy exactly what you want.
Don't compromise or settle. It doesn't matter if its 500 or 3000. I have pretty much every part of what I want covered and most of them I feel are some of the best in that particular category. So now when I go into a gun shop and see there wares I don't feel the need to buy anything unless its something very special. If I decide to get a new toy, I have to tell my shop to order because they couldn't sell one if they had it on hand.
I'd rather have one 2000 dollar 1911 that I love, then 3 cheaper ones that are 'pretty nice.'
I'd rather have a very expensive/quality .22 semi auto then a cheap one because its 'just a .22'
I'll always take fewer high quality weapons over a bunch of cheaper ones.
Now don't take this as snobbery or anything I won't belittle someone for having a cheaper gun or something I wouldn't own. As long as they are a safe and happy shooter I'm good.
But this works for me. Buy once, cry once, and never be left wanting.