I got my 64GB silver iPhone 6 in September 2014, in the first batch.
Upgraded to iOS 9.2 / 9.2.1 around Dec/Jan 2015 (can't remember precisely when) and GPS stopped tracking accurately, particularly if the wifi switch is turned off. It was impossible to use Maps / Google Maps to navigate and RunKeeper tracked my path extremely poorly.
Was hoping iOS 9.3 would resolve this, but it didn't and went to the Apple Store to see a Genius to see if I could get the phone replaced. In Australia, it is possible to get the iPhone repaired/replaced within 2 years under Australian Consumer Law. I'm not a lawyer, but I think it has something to do with the products being sold by vendors needing to be "fit for purpose" within its "expected useful life" or some such.
Anyway, it took a bit of convincing of the Genius technician. I told her I had been having the issue for 3 months, since iOS 9.2 or 9.2.1 and that this was being reported in Apple forums. She ran a diagnostic on my phone, which turned up no physical faults (as others have mentioned). I indicated that I had reset the phone completely a number of times and I was also ready to reset the phone right there and then to prove it (I backed up before I got to the store).
It will not be possible for the technician to replicate the fault in the store: the phone should locate reasonably well inside the Apple Store. This is because the phone will use the store's wifi strength/signal to locate itself - as the store wifi has a known location.
The technician explained that the GPS tracking could be off sometimes - it's not a dedicated GPS tracker, you need to have the WiFi switch on for it to work optimally, etc. etc. I indicated to her that I really did understand this and appreciated those comments - really.
I indicated that I was willing to either:
a) go for a walk outside the shopping centre around the suburbs for a bit and trace my path with 2 or 3 different gps tracing apps (e.g. RunKeeper etc) and come back in an hour to prove that the GPS was tracking extremely poorly; or
b) if the Apple Store believed my phone was in good working condition then I would trade it in for its maximum trade-in value and put the store credit towards a new iPhone 6s. (Not ideal as I would be out of pocket, but I was prepared to follow through).
I asked the technician that if I were to do (a), would they replace the phone on the spot?
The technician went out the back, consulted with her manager and came back with a free replacement phone. While they were sure there wasn't a fault - she was sure that I was sure there was, so they gave me the replacement phone to avoid having me stuff around getting GPS traces.
The replacement phone had iOS 9.1 loaded - it worked great and GPS was fine. Located a bit better inside the Apple Store than the original (though the technician had left by this stage and couldn't show her). Upgraded to iOS 9.2.1 - it also worked perfectly (phew!). Upgraded to iOS 9.3 - no problems either.
So, I think that something went wonky in iOS 9.2/9.2.1 and it doesn't 'talk' to the antenna/GPS chip in the early iPhone 6 batches properly for some reason.
Tips:
1) come with proof that something isn't right: i.e. GPS traces using RunKeeper - and a couple of other apps, so you can show them it's not an app-specific issue.
2) back up your phone and prepare to hard reset/wipe the phone back to factory settings in the store to show them it's not working
3) thank goodness for Australian Consumer Law!
Good luck! (And thanks to the Genius technician - Rey - for believing me without much proof, except for my convictions.)