The recommendation tends to be the following:
1) Run your GPS-derived NTP appliances, but DO NOT point end-user clients at it.
2) Run a set of internal NTPd servers, and configure them to pull time from all of your GPS-derived NTP servers, AND trusted public NTP servers
3) Point your clients at the internal NTPd servers.
Note that it's not entirely unreasonable to go out and buy numerous GPS appliances, deploy them at multiple locations, and point your NTPd servers at those. With enough sites, your NTPd server will skip over any defective NTP appliance. At some point, using publicly available NTP sources is redundant unless one wants to mitigate away the risks behind failure of the GPS system itself.
What I'm advocating against is the seemingly common practice to go buy an off-the-shelf lower-cost GPS-NTP appliance (under $1K or so), stick an antenna in a window or maybe on the rooftop, and point all your devices at that device. This is asking for a failure for reasons I've covered previously. Robust time needs multiple time sources in order to mitigate against any one source being spoofed or jammed. The more time sources you incorporate into your solution, the less likely it is that any one of them going haywire would cause a timing failure.