Maybe resolution is start from begining?
Which way you're creating isochrones?
I'm using pg_routing and it returns set of edges reachable in specified time instead of a polygon so I can draw polygon from this data the way I want to - I can use st_ConvexHull, st_ConcaveHull, st_Buffer...
The first function is like place something in rubber balloon, second is like suck out air from this balloon, and this function could be think you're looking for cause it'll return geometry represents a possibly concave geometry that encloses all geometries within the set and have got parameter preventing holes in returned geometry...
But still I'm not sure if it's good way - you'll get one geometry which will not be true, because you cant jump off the train while it's running... Maybe you have to use ST_ExteriorRing to get holes out and then st_simplify to simplify the geometries?
Please add comment which will guide me to right way if you think this answer could be useful so I can re-edit it to be correct.