Trial and error is key -- once you narrow the cost/feature choices then MUST actually try it out in your circumstances, especially for "difficult" environments like commuter trains. Remember they all have return policies for good reason!
Example: Metro North commuter train in NYC:
- first tried AT&T, which worked great at my house but had a major dead zone on the commuter train -- the connection would always break at that location and have to be restarted... unacceptable. Returned everything to AT&T store for a full refund.
- consulted a map of cell towers (do your own search), found that Sprint had the closest tower to the difficult dead zone
- tried Sprint Mobile Broadband, which worked much better -- no dead zone, smooth continuous connection for the entire commute (at least until the train goes underground near Grand Central), pleased with service
Notes about using Sprint Mobile Broadband:
- Sprint somewhat supports linux -- I was able to get the Pantech PX-500 card working on my linux laptop in no time using documentation from the Sprint web site
- don't expect blazing speeds -- realistically get several hundred kbps, which is more than fine if your expectations are reasonable
- latency is good enough -- I do e-mail with a shell account, and latency is generally no problem
- coverage is quite good -- every reasonable location I have tried has had reasonable coverage, including a farm in upstate New York
SUMMARY: I had a bias against being a Sprint customer, but coverage and linux led me there, and I have been quite satisfied with Sprint Mobile Broadband.