GPS is only as good as the receiver you use it with
Ill counter that if GPS is good enough for Aircraft, Shipping, and such, it should be good enough on the consumer level without WiFi as a crutch. And it is, with a good receiver at least. They're standalone and don't exactly come cheap if they're any good.
Im not sure but it seems to be that Android and iPhone manufacturers use the cheapest small GPS receivers they can get so the signal reception winds up sucking everywhere and its simply unusable indoors. I dont know if this is the case or not, as I dont know much about smartphone hardware aside from the radio transceivers and how they operate.
In the US Military we use a handheld GPS receiver called a DAGR and on several occasions playing with them indoors while I was bored, or while calibrating a few of them I noticed none of them dropped the signals even in hardened locations like my phone would. And this was on the civil channels without the Crypto key in it to enable the P(Y)-code Military channels. Really, the key to getting good GPS reception is just if you have a good receiver or not. Unless LightSquared has their way with the FCC of course. Then you'd may as well kiss low-end GPS goodbye according to the Air Force, who operate the GPS system. Generally I dont trust network operators, but the Air Force has no real financial incentive to say that. They don't make any money off GPS, the Space Industry and GPS equipment manufacturers do. Granted the Space Industry is Boeing and Lockheed-Martin (SpaceX isn't quite there yet in my opinion, very close though and they'll do more in 5 years to reinvigorate the industry, which is WAY overdue) and they do give financial incentives to the Air Force in just about every way imaginable. But even then, the Air Force isnt making money from the system. Hell they're actually saving money. Inertial Navigation systems were clumsy and expensive, and nowadays they're highly accurate but still expensive.
Now, theoretically you could make a publicly available civil positioning system based off of WiFi or Wireless Telephony that would work pretty well and in fact I know the GSM standard carriers do this based on their towers in North America for E911 location finding. Google may well be doing this for precisely that reason, as an alternative to GPS with the same level of accuracy AND an API to sell, like they're doing with Google Maps now.