Puede ser un cambio mucho más complejo dependiendo de cómo el guardián participe en los diferentes elementos de este proceso, pero otra opción, que también dependería de 3, es:
Añade una propiedad booleana a las propias invitaciones para omitir la aprobación del usuario. Esta propiedad estaría desactivada por defecto y solo se mostraría en la interfaz de usuario de creación de invitaciones cuando must_approve_users esté habilitado.
Editar: De hecho, al mirar de nuevo el código al que David hizo referencia, supongo que el guardián no participa en absoluto en la decisión de si un usuario invitado necesita ser aprobado. Parece que esa parte sería un reemplazo directo de invite.invited_by.staff? con algo como invite.bypass_approval?