SimulationCraft now uses a 2-roll system for all special attacks.
While performing this conversion, I noticed that the HAT watcher was triggering off of "may_glance" to determine if an attack was from a "special". The problem with this is that Hunter ranged auto-shot has may_glance=false....... which resulted in too many HAT procs in the Raid_T7 and Raid_T8 configs in which there are two hunters in the party with the HAT Rogues.
To atone for my mistake, here is some analysis that I have done.....
I became curious about the effectiveness of each class in "donating" CPs to HAT Rogues so I added a "honor_among_thieves_donor" proc. Classes with pets have both player and pet data rolled into the owner's report.
I created a party including everyone in the Raid, filtered out the "honor_among_thieves_donor" proc, and then sorted them by frequency. The data in the following list is the number of procs over the course of the fight and the average time between procs. (Both numbers are themselves averages of many simulation iterations.)

honor_among_thieves_donor=151.9|1.89sec Hunter_T8_53_13_05
honor_among_thieves_donor=148.2|1.94sec Hunter_T8_06_14_51
honor_among_thieves_donor=114.6|2.51sec Mage_T8_57_03_11
honor_among_thieves_donor=112.2|2.56sec Mage_T8_53_18_00
honor_among_thieves_donor=110.8|2.60sec Mage_T8_18_00_53
honor_among_thieves_donor=109.6|2.63sec Warlock_T8_00_40_31
honor_among_thieves_donor=109.0|2.64sec Hunter_T8_15_51_05
honor_among_thieves_donor=104.7|2.75sec Shaman_T8_57_14_00
honor_among_thieves_donor=098.1|2.94sec Warlock_T8_03_13_55
honor_among_thieves_donor=097.6|2.95sec Shaman_T8_16_55_00
honor_among_thieves_donor=090.8|3.17sec Druid_T8_58_00_13_SF
honor_among_thieves_donor=090.5|3.18sec Druid_T8_58_00_13_W
honor_among_thieves_donor=087.2|3.30sec Mage_T8_20_51_00
honor_among_thieves_donor=083.3|3.46sec Mage_T8_00_53_18
honor_among_thieves_donor=078.1|3.69sec Priest_T8_13_00_58
honor_among_thieves_donor=076.6|3.70sec Rogue_T8_08_20_43
honor_among_thieves_donor=073.0|3.95sec Warlock_T8_00_41_30
honor_among_thieves_donor=071.8|4.01sec Rogue_T8_07_51_13
honor_among_thieves_donor=070.1|4.10sec Warlock_T8_03_52_16
honor_among_thieves_donor=068.8|4.18sec Warlock_T8_00_56_15
honor_among_thieves_donor=068.2|4.22sec Rogue_T8_18_51_02_FD
honor_among_thieves_donor=068.2|4.16sec Rogue_T8_23_05_43
honor_among_thieves_donor=067.3|4.28sec Rogue_T8_51_13_07
honor_among_thieves_donor=059.2|4.87sec Rogue_T8_18_51_02_S
honor_among_thieves_donor=059.0|4.88sec Druid_T8_00_55_16_M
honor_among_thieves_donor=056.2|5.13sec Druid_T8_00_55_16
honor_among_thieves_donor=052.8|5.46sec Rogue_T8_51_18_02
honor_among_thieves_donor=041.9|6.88sec Warlock_T8_53_00_18
Note that in order to properly calculate this, I needed to make sure there was only one HAT Rogue in the raid, and his "donor" rate was ignored. The values for the two HAT Rogues were taken from a generic Raid_T8 profile so they would not be skewed by the massive influx of HAT procs given the 30-player party.
For reference, the T8 raid profile uses the following party setups for the HAT Rogues:
# Since honor_among_thieves_interval=0 the HAT Rogues must be in a party
party=Rogue_T8_08_20_43/Hunter_T8_06_14_51/Hunter_T8_15_51_05/Mage_T8_57_03_11/Mage_T8_18_00_53
party=Rogue_T8_23_05_43/Hunter_T8_53_13_05/Warlock_T8_00_40_31/Mage_T8_53_18_00/Shaman_T8_57_14_00