I usually use a date as a soft delete. If it's non-null, its deleted, and, you get to record the actual date of deletion.
I've never found it to be a problem. In fact, I find it's more of a problem to physically delete. You just have to design that way from the get go. Not added on after you've realized ppl leave.