For example, in archive_command we put WALs for archiving from pg_xlog/pg_wal into another directory inside PGDATA and than another cron task makes real archiving. This directory ideally should be skipped by pg_rewind, but it would not be handled by proposed change.
I would be curious to follow the reasoning for such a two-phase archiving (You basically want to push it in two places, no? But why not just use pg_receivexlog then?). This is complicated to handle from the point of view of availability and backup reliability + durability.
We do compress WALs and send them over network. Doing it via archive_command in single thread is sometimes slower than new WALs are written under heavy load.