Ever come across a GTFS feed without the optional shapes.txt file?  bus-router creates a shapes.txt file for stop_times.txt using the Google Maps Directions API.  The routing is not perfect, but it gets the dirty parts out of the way.