Is it fair to give zeros to students who missed early assignments because they added the class late?
At most institutions, the last day to add a course is set up by the institution, not the professor.  We have an obligation to honor that, which means allowing students to enroll, with full full privileges, up to the last day they're allowed to.

Giving 0's for assignments they've missed is inconsistent with that.  I prefer to simply ignore previous assignments of the sort you're describing - if their score for that part of the class would have been based on 13 weekly assignments, now it's based out of 11.  (Sadly, this can be a little hard to administer depending how you calculate grades.)  Alternatively, they can be asked to make up the work; it is the responsibility of students to keep up with the courses they've enrolled in, either by auditing them while deciding or making up what they missed, so it's reasonable to ask them to do the assignment on a reasonably short time scale (I usually like two weeks, which should be enough time to avoid excessive overlap with any other commitments, but one week would be appropriate if the assignments are short and it's not an exam-laden week).