Is there a set theory that avoids Russel's paradox while still allowing one to define the set of all sets not containing themselves? The main idea of Russel's paradox is that, in Naive Set Theory, if we define $R = \{x\ |\ x \not\in x \}$, then $R \in R \Leftrightarrow R \not \in R$.
ZFC deals with this by making unrestricted set comprehension illegal, while type theory creates a hierarchy of sets such that there is no place in it for $R$. Both of these approaches stop one from defining $R$ in these versions of set theory.
However, what if we were to allow one to define such a set, but restrict the statements that one could make about it? In other words, is there a version of set theory which allows one to define $R$ as shown above, but in which the statement $R \in R$ is not a paradox, but rather simply doesn't make sense?
I'm not sure how one would define such a version of set theory, but it seems to me like something like this could be essentially equivalent to Naive Set Theory for "normal" sets while disallowing certain kinds of statements about "pathological" sets.
 A: This wouldn't be possible in ordinary first-order logic, because no matter what the axioms say about $R\in R$, it is necessarily a well-formed formula.
But there's a more conceptual problem here: If you're defining $R$ as "the set that consists of all sets that don't contain themselves", you're already implicitly assuming that it makes sense to ask of any set whether or not it contains itself, and get a definite answer back -- because that question is what you want to use as the defining property of $R$. You can't then suddenly turn around and say you can ask any set whether it is a member of itself, but you can't ask it of $R$.
If you need to change something, you have to change the underlying logic such that it's not two-valued anymore. Even so, whenever the logic allows you to assert (under a quantifier) that two (generalized) truth values are equal, and you can somehow construct a truth function that has no fixed points, Russell's paradox will be recreatable in that logic.

Edit for an alternative answer:

I'm not sure how one would define such a version of set theory, but it seems to me like something like this could be essentially equivalent to Naive Set Theory for "normal" sets while disallowing certain kinds of statements about "pathological" sets.

To some extent, this is done in Morse-Kelley set theory. There, your "pathological sets" are called proper classes, and have the restriction that you're not allowed to put have a proper class to the left of $\in$. (Or if you do, the result is always considered to be "false").
You get "unrestricted" comprehension in that you're allowed to make a collection of all the normal sets that satisfy any condition you can write down, but sometimes the result turns out to be "pathological".
Thus, you can define $R$ as the collection of all normal sets that don't contain themselves. You don't get $\forall x(x\in R\leftrightarrow x\notin x)$, but you do get
$$ \forall x\in \mathit{NormalSets}\,(x\in R\leftrightarrow x\notin x) $$
However, it is debatable whether this really implements your program, because in Morse-Kelley, the conditions for a collection to be a "normal set" are more or less the same as the conditions for a set to exist at all in ZFC. So there's not much more new you can really do with the flexibility.
A: If $R$ is a set such that $x\in R\leftrightarrow x\notin x$, and the law of excluded middle holds, then either $R\in R$ or $R\notin R$, but not both since it is impossible that both a statement and its negation are true.
But now if $R\in R$ then $R\notin R$; and if $R\notin R$ then $R\in R$.
So it's a no-go. Regardless to allowing or disallowing comprehension. Or any properties of $\in$, really. Just that it's a binary relation.
