Leo says this is difficult because it's all very geographical. If William said Kansas City, he'd say Sprint because they're really good there. If he said New York, his advice would be Verizon. Both of those companies originated in those places. William was thinking of going with Cricket Wireless, but Leo said he'd go with one of the big national carriers.
PC Magazine tests speeds and connectivity, and generally AT&T wins nationwide. It'll be between AT&T and Verizon, though. No carrier is perfect. If he had two phones, one from AT&T and another from Verizon, he'd be guaranteed to have coverage everywhere. William could get a dual SIM phone, but Leo's not sure if he could use AT&T and Verizon in the same phone with that.
T-Mobile does well in urban areas, but very poorly in rural areas. Sprint is a distance fourth when it comes to connectivity, but they were acquired by SoftBank, a huge Japanese conglomerate, so they may improve the network. But it will come down to AT&T and Verizon if he needs coverage all over the country.
The website OpenSignal.com is an independent site that has a map showing the actual signal coverage each carrier has based on usage data.