Without seeing exactly what is happening I can offer some suggestions to look at...
First, you can confirm that the Data Layer is only being updated once?
Second, can you confirm that you only have one rule that is looking for that specific event (that you don't have multiple rules being triggered causing multiple tracking calls)?
If the data layer is correct, and you only have one rule... do you have multiple triggers in that rule that could be executing?
Keep in mind, that Adobe's triggers are "OR" not "Exclusive OR"... meaning that if you have multiple triggers within the same rule, and 2 of those triggers "match" the rule will fire 2 times, once for each matched trigger...
You can prevent this by adding a Max Frequency condition to your rule:
Within the same rule, the triggers are generally microseconds apart, so a 1 second rule is generally sufficient to prevent double tracking the rule.
If there are multiple rules that are being triggered, that is a different story altogether and this solution won't help....
You will either have to combine the rules, or tweak the conditions to prevent both rules from firing in the scenario....
You can see which rules are running by enabling debug mode in your browser's console:
// Turn on Debugging
_satellite.setDebug(true);
// Turn off Debugging
_satellite.setDebug(false);
Hope this helps you figure out where the extra server calls are coming from and prevent them.