I think, you are wrong about this. bob.io.imageneeds to be imported in order to load images using bob.io.base.load. If it is not imported, the image codecs are not loaded and, hence, images cannot be loaded. See also: http://pythonhosted.org/bob.io.image/guide.html#user-guide
Anyways, I can see, what your problem is. Despite the preprocess.py script, bob.io.image is only used in test cases. The rest of bob.bio.base is free of images.
Additionally, the preprocess.py script might also be used to preprocess audio file and videos. However, currently this is not possible as we do not import bob.io.audio or bob.io.video.
When people have installed bob.bio.face, bob.bio.spear and/or bob.bio.video, the according I/O packages bob.io.image, bob.io.audio and bob.io.video are installed as dependencies of those. Hence, We should be able to have a
try: import bob.io.imageexcept ImportError: pass
for each of the I/O libraries. In this way, the script can be used flawlessly with all preprocessors of all bob.bio packages.