Aside from rooting (temporarily or permanently), you can't disable the system apps prior to Android 4. Your particular case may have a ray of hope, though.
Alternate app responding to Intent
If the navigation app is responding to an Intent, you could try to find a different app that responds to the same Intent. You'd get a pop-up to choose which app to open when the pins short and the Phone thinks it has been docked.
Alternate app that can do nothing
Ideally, you could find an app that responded to that Intent and did nothing as a result. Then set that as the default handler.
Task killer
Another possible option is to use a task killer (a rare good usage of such an app). There should be some that have the option of killing an app as soon as it starts; if not, the free app Llama can do that, as can other automation apps like Tasker.
Rooting
If none of the above work, you may want to root your phone. This will let you uninstall (or simply freeze) the navigation app so that it doesn't open up.
Fix/replace hardware
The last resort, and probably most useful, is, of course, fixing/replacing the hardware.