I do not like stains, per se, on gunstocks (or much else). I think they cloud the wood and make the finish look shallow and dull.
BUT, I do frequently use a red dye, especially on Black Walnut. Winchester guns were almost always finished with a red dye in their varnish. Some color often warms up a pretty bland piece of walnut. Winchester used alkanet root dye - and you can too. You can buy good quality alkanet root from Mountain Rose Herbs (I think they are in Oregon). But I'm too lazy so I use a red dye from Laurel Mt. Forge and sold by Track of the Wolf. They call it a "cherry stain" but realistically, it's just a red dye of just the right tone for gunstocks. Add a few drops to a thimble's worth aliquot of your favorite finish (I mentioned Velvit Oil above and I can help anyone find it if they want to try it). It's really hard to add too much. Typically, I do this for several coats AFTER the first coat that I really soak into the wood.
You can also make your own really good oil finish with a good quality spar varnish, mineral spirits, and boiled linseed oil - all in equal proportions.
Another suggestion: if you can put your stock in a window or outdoors, in direct sunlight, the UV light will cause the hydrocarbons in the varnish/oils to crosslink and cure faster and harder. A smart guy might even build a UV light box for curing gunstock finishes. Never heard of anyone doing this, but it would work great. Someday, I may take my own advice on that, but see comments about being lazy