I've tried many mixes over the years, but for the past few growing seasons I've grown to really like Kellogg Patio Plus potting soil, sold at Home Depot for around $6 a bag. It's not the best stuff on Earth, for example the texture is a little to woody for me, but my plants do great in it. I used to amend with worm castings and different meals, but it never gave a measurable improvement so I stopped.
However, I don't use Kellogg Patio Plus on seedlings or clones. For that I prefer to mix up 50% perlite, 40% Coir, and 10% worm castings. When money is tight or if I'm feeling lazy, I won't hesitate to buy a bag of Miracle Gro Seed Starting Mix or Fox Farm Light Warrior. The plants do better with my custom mix, but all my plants seem to catch up and even out by summer.
Another thing I do, and rarely see others here do it, is after harvesting my cannabis plants, I pull the roots out of the bed and immediately start a winter crop of legumes. The following spring I harvest my legumes and till the plants back into the soil. This saves me from having to lay down a lot of fertilizer for my next crop of cannabis. Anytime I do need to fertilizer, like say I happen upon a super hungry Sativa strain, then I'll use Kellogg All Purpose Organic Fertilizer. Lowes carries Epsoma which is just as good.
If you can't find Kellog Patio Plus, don't hesitate to use a local brand. It's just soil. Better to have lots of it then to pay top dollar for a tiny bit of "better" soil. You can also force your plants to like one specific brand of soil and climate. Just grow lots plants from fresh seed stock, terminate all the weak ones, and breed the best performers. After five generations you have your own landrace strain tuned to your conditions.