I am sure that this would probably require a complete overhaul of the existing code, but would it be possible to pull the names of the characters in a guild from the armory. Instead of Armory Sync just looking at the characters who are already on our roster, could it look at the armory and then include those who are not present on our rosters or remove those who are present on ours but not on the armory? After that, of course, it would update the roster as it does now.
I know the armory already has a guild search function, so it should theoretically be fairly simple to just search the armory for a guild with name x on server y.
One note I would like to add is that the armory does not store the names of custom guild ranks, it just stores ranks as Guild Master then Rank 1, 2, ect. Although Armory Sync does not currently sync guild ranks (probably because of this problem), would it be possible for Armory Sync to somehow correspond the names of ranks that are already present on a roster to their Armory equivalents, so that if a new user was added (or a guild member's rank changed) the rank data would reflect the actual name of their rank and not just rank 1 or 2?