Is it possible to set the vertex shader without overriding the fragment shader?
While I was digging through the docs one day, I stumbled upon the gpu.export_shader(scene, material) function, which seems to allow exporting the shader code of blenders internal materials. Note that this call eats non BGE types. Here is an example which extracts the code for a simple material on a lovely blue cube (*.blend below)




It should be possible to combine this extracted fragment shader with your own vertex shader (e.g. copy from console and paste in your BGE script).