How can I in Oracle discover the average number of rows affected per transaction?
Not exactly an answer to your question but amount of changes generated by the session can be found using such query.

select st.inst_id, trunc(st.value/(1024*1024)) as MB, ss.sid, ss.username,
  ss.osuser, ss.machine, ss.program, ss.logon_time
from gv$sesstat st, v$statname sn, gv$session ss
where st.statistic# = sn.STATISTIC# and sn.name = 'redo size'
  and st.inst_id = ss.inst_id and st.sid = ss.sid and ss.type != 'BACKGROUND'
order by 2 desc;


Number of rows changed correlates with amount of redo generated.