How about using gpsapp to send some kind of scaling factor to hijack, and then letting hijack apply this scale to the current user selected volume to determine the appropriate speaker volume?

If gpsapp is not installed, this can just default to 1. Increase this factor to 1.1 to increase whatever the current listening volume is by 10%. I thought this was the kind of approach taken by voladj, which is why I was thinking along those lines... I know empeg is not brilliant at floating point calculations, but an integer based approximation would probably suffice.

Naturally, this just shifts some of the hard work from gpsapp to hijack, but the functionality might sit there more neatly (since current volume is already available), and perhaps be reusable for other applications too. So, if volume adjustment via ambient noise or OBDII takes off, they could both use the same hijack feature, rather than writing the same code 3 times on separate projects.

As for the specifics of the volume adjustment, I'm guessing this will be largely trial and error, and will vary depending on personal preference, the vehicle & level of sound insulation, tyres fitted etc. Maybe just building in a whole pile of configurable parameters, perhaps with a couple of 'get you started' default settings is the way to go?