The following copy protection schemes do work across the various versions of hardware and Risc OSs:
Add onto various tracks extra sectors (256 bytes in size). Read the contents of these to build up decryption or other code which gets the main program running.
Shortened 'D' format discs. Create a short D format disc and use the remainder of the disc's tracks to store copy protection details.
What to avoid:
Don't rely on disc error numbers remaining unchanged.
Don't rely on ReadTrack working.
What you can use:
Add extra sectors which won't confuse the disc identifiction scheme. In
other words on track 0, side 0 there should be sector headers numbered 0 to
4 of size 1024 bytes and no sector header 5 of size 1024 bytes. Other sector
headers can be put onto the track, some of the bodies can be missing - but
you must leave correct sector bodies for the map and root directory. Don't
rely on the disc error numbers. Tracks other than track 0 can have any old
crap on them.