While it may work, it looks very inefficient.
I'm not sure if the Auras from multiple rogues stack on the individual party members, but assumed they do, you can do some shortcuts.
If you look at the code for "Lock and Load" in Unit::HandleProcTriggerSpellAuraProc() you can see that even though the aura says 100% proc chance, the basepoints give the real chance, so you could try the same:
switch(trigger_spell_id)
{
(...)
case 52916:
{
if (!roll_chance_i(triggerAmount))
return SPELL_AURA_PROC_FAILED;
break;
}
And in Aura::HandleAuraDummy() for 52916, instead of checking if target is a Rogue and search through his auras for the talent, maybe just check if your own aura has been casted by this target.
if "target != GetCaster()" you know this unit is not the rogue that gave you the aura.