Assuming keeping reliable atime in snapshots is less important, a compromise solution could be implemented this way:
(1) Specifying that atimes of files in snapshot are undefined.
(2) Hack btrfs so that sole atime change does not trigger write-on-copy.
I.e. the unchanged files in the snapshot would silently share the atime with the live file as long as the live file is not really explicitly written.