Hopefully anyone else who posts here will have advice on how to optimize texture data uploads.
It appears to me that you should not be the least bit concerned about VBO performance or optimization. Even the weakest GPU's that I've tested can handle way more than what you are describing by a long shot, so far as models are concerned. The image data is another matter, I think that all of your performance concerns should be focused on your images not the quads, the quads can all be the same VBO anyways, just assign the particular image before making the draw call to the same VBO.
Maybe PBO's will be useful to you. They don't have much performance benefit for static textures but for situations where things are changing a lot there can be a 2x-3x increase in transfer speed to the GPU.
The following is an example on how to swap between two PBO's to help eliminate stalling, it's kind of like double buffering.
The following is some data collected by nVidia engineers on PBO performance using various texture formats. Don't expect these results to be consistent across all GPU manufacturers.
You will, however, gain some insight into what factors can influence performance in these matters. Look at the chart that has timing measurements for different texture formats. Specifically, for nVidia, using BGRA can be more than 3x faster than using RGBA, but this is for nVidia. You cannot expect these same results for ATI or PowerVR or Mali, etc....
This idea in it's essence will hold true, test all formats on your preferred platform and you are bound to find one that works best for the device that you are targeting.