I found a solution while facing same problem. For avoid inserting if you violate not null constraint you can do a Insert Select operation avoiding null values.
In your example:
INSERT INTO public.users (user, user_yob, sex) SELECT mom, mom_yob, 'F' FROM staging.users where user is not null ON CONFLICT DO NOTHING;
This should avoid inserting values from staging users to public users if user (guess is name or something similar is not null) you can check any value
Here you have an example of the select into with where clause