I rather like the idea of the averaging thing, since while it does end up less than the bonus of one of the pieces at times, it does give you a better bonus others. Its like having a specialization in perception giving you bonus dice. Last I checked, specializations were supposed to be in a specific field within a skill... so getting it all the time might be a bit much. On the other hand, if you had, as is possible with the SR5 rules, a specialization in all avenues of the skill... its effectively a +2 dice pool bonus overall... and if you start stacking the bonuses up... or rolling two seperate perception checks every time (ie: I have +3 audio and +3 visual) that is a +6 dice pool... which dramatically shifts the odds in the favor of the listener, as opposed to the one sneaking around. If you really want a solution for the general test that could benefit from both? Step 1. Roll perception as normal. Count the successes. Step two. Roll the bonus dice for your visual bonus. Count the successes. Tally them up. Now, step 3. Roll the bonus dice given to audio. Tally them up with the original successes - so you're not rolling the full dice pool twice. You should come out with two seperate results.
Example: Bob has Audio perception +2 and a +3 bonus to visual perception. His normal dice pool is intuition (4)+perception (6) He starts by rolling 10 dice. He does a little better than average, and manages 4 hits.
Bob then rolls his audio bonus dice - and gets no hits. So his audio perception roll this time came out to 4. He proceeds to roll his visual perception bonus dice, and gets 2 hits on three dice, which makes his visual perception a 6. Well, Bob doesn't hear the ninja, but he might just still manage to see the ninja.
This is a bit complicated I know, but it does solve any issue you might have with averaging out the dicepool bonus. Flaw is that if you do it like this, you have to do it regardless of whether the person has an equal bonuses to the two aspects of perception or not - otherwise, you might find yourself punishing players for having an equal set of bonuses.