You could probably write a daemon to keep the primary selection empty. The `xsel` program would be a good place to start. I thought you could do it with `while true; do echo -n '' | xsel -n -i; done`, but it quits immediately if the input is empty so that would be constantly executing a new program. Still, I expect there's some trickery you could do with it, or you could look at how it's implemented and copy that.
(edit - or to eliminate a lot of the pain,
while true; do echo -n ' ' | xsel -n -i; done
The major advantage this has over the X11 clipboard, IMO, is that text persists after its source application is closed.