This is a good discussion. I like a hierarchical approach that makes use of subcircuits much like software code makes use of subroutines.
I start with a top level block diagram. Each block is labeld with a refid of for example "S3" which tends to be page 3 of the schematics in the pdf book that I produce. The re-used subcircuits are given the highest numbers and will be at the back of the book. Subcircuits within subcircuits tends to produce strings of reference designators such as "S1/S3/S7/U1" which is a horrible ref designator for the final schematic. But I have hope in the future that PCB will also become hierarchical in which case a group of land patterns will be given a group name and that groups can have groups within. Thus: Group S1 contains S2, S3, S4 and group S2 contains S5, U1, U2, R1, R2, L1 and group S5 contains U1, L1, L2, C1, C2, C3, C4, C5, C6, R1, R2 and R3 now I can draw a silkscreen outline around all of group S1 and include a bit of text "S1" then within the S1 silkscreen I can draw silk outlines for S2, S3 and S4 and within S2 draw a silk outline for S5 groups should be able to be copied and then just the group reference designator edited which automatically renames all the full reference designators for the entire group. Then I would like an option to turn on the full refference designator or just the truncated truncated reference designator. Schematics get reduced to a few pages instead of possibly hundreds. Sections of the pcb layout are re-used.
