Dear Arlo,
I have opted for solution #2 (marking corrections with @type, although in those cases I mark both the a.c. and p.c. reading with type):
e.g.
<app>
<lem wit="#J" type="pc">मेत्ता</lem>
<rdg wit="#J" type="ac">मत्ता</rdg>
<rdg source="#N #Bh">मित्ता</rdg>
</app>
rendered (in XeLaTeX with reledmac):
and for the opposite situation:
<app>
<lem wit="#J" type="ac">णो</lem>
<rdg wit="#J" type="pc" source="#N #Bh">णे</rdg>
</app>
rendered:
The only problem with this is that the @type attribute applies to the entire rdg/lem element, which means that if there are other attributes indicating other manuscripts or sources (as the second example shows), nothing explicitly links "a.c." or "p.c." to the manuscript witness. In my setup I have a convention whereby these @type attributes are interpreted as "going with" with @wit attribute, not with the @source attribute, but in a situation where you have multiple witnesses, you might need to refine this.
Another, probably better, option is to use <rdgGrp> for all of the readings of a particular witness, although this makes rendering/processing a little bit more difficult.
Andrew