I think the answer is: create a relational segment on the "registered users" group for rel_type = membership_rel. Adding a member to this relational segment only involves creating an acs_rel through membership_rel__new between the user and the -2 group (registered users). Every subsite gets a similar relational segment:
v=# select * from rel_segments;
segment_id | segment_name | group_id | rel_type
------------+------------------------------+----------+------------------
291 | Main Site Members | -2 | membership_rel
649 | GTSubsite Members | 646 | membership_rel
798 | test Members | 795 | membership_rel
1169 | Tommys Parents | 1161 | parent_rel
1185 | My Unicycle Club Parents | 1177 | parent_rel
1190 | My Unicycle Club Unicyclists | 1177 | club_cyclist_rel