Almost word for word the same question I asked a year ago!
I have since come to think that Dickson's are actually very good indeed. Expensive, yes, but exceptionally helpful and friendly. They've gone well out of their way to help me a few times, for little or no cost. I'm happy to buy my ammo from them now, and be done with the hassle of travelling out to get it.
The alternatives are all a long way out:
Tony Russell in West Lothian: friendly and helpful (and cheap). Runs out of his home. Only interacted with once, but was impressed.
Borders Gun room in Newton St Boswells. Could do with some customer service lessons - treating newcomers as idiots to be tolerated with mocking indulgence is not a way to win repeat cutom.
Bushwear in Stirling and Perth: never actually been inside, but we all know the wonders of their website (and the life time of catalogues that follows). Exceptionally good online customer support, but have no idea what they're like in the flesh.
And there is supposedly a place in Haddington (JS Mains?), but I don't know anything about them.