I settled on this one and it works very well:
20 percent Marvel Mystery Oil
50 percent low-odor kerosene
30 percent low-odor mineral spirits
STP oil treatment, one tablespoon per quart of the above mix
This works at least as well as Hoppes and it doesn't have the acetone in it. I didn't like some of the stuff in Ed's Red, I just wanted something to clean powder residue, lube, and dirt.
I made up a quart of it in a mason jar, then decanted it into an old 4 ounce Hoppes jar.
The original recipe is from American Gunsmith and is:
40 percent Kerosene
40 percent mineral spirits
15 percent marvel mystery oil
5 percent Rislone (a thick lubricant)
I varied the recipe because I had the STP on hand, didn't want to buy Rislone because STP sounded similar enough, and I wanted less mineral spirits in the first batch so I don't worry so much about getting it on my wood.
Now for the question you've all been waiting for an answer to: How does it smell? Not bad at all! It's got a nice masculine petroleum smell that doesn't stink up the house too badly when you use it. I don't think I'll use it as an after shave, but then I never used Hoppes as an after shave either. In a mason jar this stuff has a very pleasant light red color.
It leaves a slightly oily, non-sticky, film on the metal. It's nice to work with.