My recommendation is to record sources that contain multiple events and/or multiple relationships once for each person that is mentioned. Store it as a general source for the person. A census record is an example of a source that could be stored this way.
When you have a source pertaining to a specific event, such as a specific record for a birth, marriage, death, residence, occupation, etc., then store it as a source for that event for the person or family. If the record also mentions other people, also store it as a general source for those people.
The census is somewhat of a special case because some programs include a census event. If yours does, then you can store your census source reference with the census event for each person mentioned rather than as a general source for the person.
This way, one source reference is not mentioned more than once in any person or family and minimizes their repetition while maximizing their usefulness. Too many source references everywhere makes it difficult to determine what is really pertinent.