That annoyed me as well, the retarded speed of those dumb soldiers is incredible. I always simply use:
retardedsoldier action ["eject",retardedvehicle]; unassignvehicle retardedsoldier
You can use this several times in the same trigger to have them jump out all at once or just have a short time interval between several triggers but the triggers seem to have a problem understanding 0.3 seconds so I would recommend the first option.