In regards to your Question Number 1, I would say that Zermelo-Fraenkel set theory solves Russell's paradox by preventing its statement. In ZF set theory, you aren't allowed to talk about the kinds of sets Russell talked about. See this book for a good intro to ZF set theory. ZF set theory is generally regarded as a sufficient set theory for the disciplines you mentioned, although most authors these days, for brevity, just use naive set theory.

Question Number 2 is for a better logician than I. I'm sure emakarov could weigh in, or Moeblee, or others.