The federal government doesn't necessarily have to provide for every small town in the U.S. Other railroads can focus on certain regions of the nation, and run increased passenger service in those areas, so this way one corporation doesn't have to worry about the entire country and the smaller railroads can focus on specific segments of the nation. Once this is done, each railroad can run an increased amount of trains in that region, local express and overnight, and provide more rail opportunities for the communities along each region.
For example; let's say Amtrak was broken up into a few different railroads: Amtrak Northeast, Amtrak South, Amtrak Midwest, Amtrak West Coast, etc., or doesn't even have to be under the Amtrak name. An example of this would be breaking up Amtrak into Great Northern for the GN and NP regions, WestRail for the Santa Fe and Rio Grande regions, Southrail for the Southern regions, and so on. Each one of these railroads would only have to focus on their region, rather than the rest of the country, so that in this case Southrail can focus and develop potential corridors in the South and provide numerous local and intercity trains in that region only, and not have to worry about how to improve Great Northern's region, and vice versa. Meanwhile, WestRail would focus on providing new local service to small communities along the line, intercity routes between major cities, the potential for increased express LD services across the entire route, as well as overnight services.
"Look down, step over, and watch the gap!" - Dr. John Clarke, The Gap Rap (2010)