A couple things you can try:
-- torque to spec three times or more to season threads with aeroshell 33 grease on threads. The final torque value can be between 30-80 ft lbs. By seasoning the threads, via torqueing and loosening a couple times, the barrel nut position at final torque value will change ever so slightly to the right.
--try a new barrel nut so that the machining tolerances stack in your favor.
--lap or true the front of the receiver or use a different spare reciever. Barrel nut shims (brownells sells them) are helpful here and cheap too.
Don't exceed 80 ft lbs on the upper.
I use an alignment gauge type dowel to make it's up to spec once I get alignment close. A nifty trick is to increase the torque setting on the torque wrench 5 lbs, torque nut, check alignment, repeat, etc. when you get close
Also, some free float handguards don't require indexing -- makes this part a breeze. My favorite right now is Midwest Industries gen 3 mlok