As far as I know (I am not an expert on how io.js handles require), require uses a synchronous file system fetch to load in the resource. As a result, if the hardware that the instance of io.js is running on is taking a long time to find the file, or if it is busy doing someone else's loading (most PAAS providers run multiple VMs on a single piece of hardware), then the script will block and wait for the data to come in. I assume that the CPU timer would continue to run during this time and as a result the amount of time wasted on loading the script could vary on things outside of anyone's control.
The only way I can think of circumnavigating this problem is to not use require. Perhaps as a community we need to develop a Travis script that will go through all the files, replace any require calls with the code that they would fetch, and then push the modified files to the screeps api. That way, the hardware issues would not be reoccurring cost faced by the scripts, and instead would only be paid once during build time.