My upload test isn't perfect... no program ever is. But I think it may be your presumptions and conceptions that are flawed.
Why do you need to be able to select your own files? Why would I ask users to select a file when I can essentially generate a fake one for them that does the same thing? In development, I've seen no discernible difference in using real files vs the ones I generate.
There is no seek time variation. The data is generated and stored in your RAM, you can't access it any faster than that. Immediately after the information is generated in your memory the upload is initiated. The time it takes generating and sending you the information (you then send back to TMN) is not calculated into your final result. The clock doesn't start until your computer initiates the upload. And after it's all done the information does not persist in your memory.