I don't know that the airlines would have handled this any better (as least not US). Amtrak found out 4 days ahead of time that they've got a maintenance issue...they told you about it and offered you a seat on their last train of the day (yes, the one you can't make). What do you want them to do realistically? Or in-line with what any US-based airline would do? Refund your hotel room? I don't think that will happen. But you an airline ticket? I don't think their relationship with CO will make that happen (but I could be wrong). Delay their track work a day to accommodate you? No again.
I think you should consider yourself lucky that you have time to plan some alternatives (said in the nicest possible way).
Edited to add: how far south can you get yourself to get to train service that is running to NYP?