Combining that approach with descr_campaign_db is more effective as it also concerns captains which obviously cannot get traits\attribute, eg have zero loyalty. Settings from 1648
Code:
<revolt>
<end_turn_modifier float="2"/>
<excommunicated_modifier float="15"/>
<new_leader_modifier float="10"/>
<max_effective_loyalty float="7.0"/>
<rebel_region_modifier float="2.0"/>
<shadow_region_modifier float="2.0"/>
<rebel_border_modifier float="1.1"/>
<shadow_border_modifier float="1.1"/>
<num_units_modifier float="1.05"/>
<captain_modifier float="12.4"/> <set to low value to reduce revolt chance - Gig, intentionally high in 1648, counter acted by ai modifier>
<min_revolt_chance float="0.0"/>
<max_revolt_chance float="80.0"/>
<ai_revolt_modifier float="0.05"/>
<revolt_additional_armies bool="false"/>
<revolt_crusading_armies bool="false"/>
<shadow_authority_modifier float="5.0"/> <!-- modifies chance of characters rebelling to shadow faction by shadow leaders authority -->
<shadow_authority_modifier_sett float="10.0"/> <!-- modifies chance of characters rebelling in settlement revolts to shadow faction by shadow leaders authority -->
</revolt>
If memory serves most of those brigands\revolting armies in EBII are scripted.