This was driving me nuts, but I finally found a solution! You don't need root or anything to fix, but you do have to enable the secret hidden menu, then adjust a few settings. To enable to hidden menu and access the "audio tuning" settings go here:
Android_Secret_Code String Revealed! - Android Forums
Once you access the audio tuning menu, select "stream", and then select which setting you want to adjust. In your case, it sounds like you are listening to your nav over the phone's external speaker, so you would be adjusting the "stream_speaker" settings. Once inside, you will want to adjust the "SYSTEM" setting. Google nav uses the system volume setting for it's navigation volume, so this what needs to be adjusted. I have mine set as follows and it is much louder:
step0 = 0
step1 = 58
step2 = 65
step3 = 72
step4 = 79
step5 = 86
step6 = 93
step7 = 100
dbStep = 0.5
Default values were:
step0 = 0
step1 = 29
step2 = 35
step3 = 41
step4 = 47
step5 = 53
step6 = 59
step7 = 65
dbStep =0.5
By contrast, the speakerphone maximum setting is 86, so if these values are percentages, the navigation volume was 21% lower than the speakerphone volume.
I also adjusted the "stream_headset" setting, since I listen to the music player in my car, and when navigating, the turn by turn directions were barely audible over the music player. The default maximum system volume setting was 65. The maximum music volume setting was 98. This is why I had to listen to music at half volume in order to have the nav volume be equal, even though the nav volume was at max. I hope this helps and I will be posting this elsewhere to help as much people out as I can.