No, there is no rules. You can use whatever infinitive (not only "aver") in its truncated form as you like.
You just have to pay attention to use only the truncated form with joined pronouns: "avermi", "averti", "avergli", "averle", "averci", "avervi", "averne", "averglielo", "avergliela", "avercene"... "averceglielo"