There are two approaches:
#1 Exclusive FKs
Have both FKs and a CHECK constraint on top of them, that makes sure one of them is NULL, as mentioned here.
Note that some DBMSes (most notably MySQL) don't enforce CHECK constraints, in which case you'll need to do that from triggers or client code.
#2 Inheritance
"Inherit" both kinds of users from a common table, then reference just the common table. Here is an example of how that can be done for "commentable" and "taggable" and "likable" content, similar principle can be applied to users.