Is there a way to make aliases as short as possible?
hook_pathauto_alias_alter is nearest to your query. 

First parameter $alias will be newly created alias by pathauto. You would have to analyze it with some regex pattern for undesired pattern generation.

The second parameter will give you contextual picture of item in associated array.  

module definitely be taxonomy_term
source system path of taxonomy e.g. taxonomy/term/&lt;tid&gt;

I think you will have pretty much to analyze the term and get its hierarchical info to update $alias variable.