Well, making an educated guess, BNSF and CN, as matawanaberdeen mentioned, seem to be the best, judging from what I have heard.
UP is decent, yet expect to be under the gun (i.e. on the verge of getting fired) A LOT more than BNSF
CSX is evidently atrocious
BNSF and NS are rather polite and friendly during the application process, whereas UP is rather blunt and tactless.
Amtrak... Well, Amtrak has little more to offer than system wide seniority and the potential to return home at night if you are working a regional or commuter job. Other than that, Amtrak has the lowest pay (engineer tops out at 34.35 per hour. Not bad, but low compared to the above mentioned freight carriers)
In other words, my personal preference is:
1. BNSF
2. NS (CN in Canada)
3. UP (CP in Canada)
4. CSX
5. Amtrak
PLEASE remember that I am not employed by any of the above, and that my input is solely based on what I have researched, heard, and gathered from interviews/ hiring sessions.