
Vous avez dit l'essentiel. A commencer par le fait (Damiro) qu'il n'y a pas de véritable règle clairement observée et observable. Celles qu'on trouve dans les grammaires font partie de ce que j'appelle les "mythes" grammaticaux.
En gros, on peut en énoncer deux, qui se recoupent partiellement :
- Celle, de base et rappelée par Elie et Muriel, qui dit que l'on accorde uniquement si le pronom "se" est un véritable COD.
Jeanne s'est regardée dans le miroir = Jeanne a regardé Jeanne (COD) dans le miroir => accord
Marie et Jeanne se sont vues lundi dernier = Marie a vu Jeanne (COD) et Jeanne a vu Marie (COD) => accord
Jeanne s'est attribué le beau rôle = Jeanne a attribué à elle (COI) le beau rôle => pas d'accord
- Celle, plus complexe, rappelée par Anne, et qui fait dépendre l'accord de la nature de la "pronominalité" du verbe :
1. verbes "essentiellement pronominaux" (s'enfuir) = on accorde (elle s'est enfuie)
2. verbes pronominal "réfléchi" (Jean s'est lavé = J a lavé soi-même) = on accorde.
3. Verbe pronominal "réciproque" ("Jeanne et Marie se regardent" = l'une regarde l'autre) = on accode
3. Verbe pronominal passif (le poulet se mange froid = est mangé froid) = on accorde
4. Tout autre cas = on n'accorde pas, notamment les pronominaux "éthiques" (faire dans son intérêt : se cuire une soupe, se battre pour une cause)
Le problème c'est que cette dernière règle imposerait en théorie qu'on écrive "ils se sont battus" (entre eux, réciproque) mais "ils se sont battu (ensemble) contre les nazis" (éthique). Et inversement, qu'on fasse l'accord avec "s'arroger un droit", puisqu'il est essentiellement pronominal - ou alors déclarer que c'est une exception. Je crois qu'on trouve les deux mais je n'ai pas de Grevisse sur moi.
Bref : retenir la première règle, c'est la seule véritablement appliquée.