At the beginning of each school year, my college would have a club fair, in which all of the school clubs and activities would have a table and a sign up sheet to encourage students to join. It was a lot of fun, seeing all the groups that our school had to offer, most of whom also offered free candy to all. The same thing could work at the high school level too. Just pick a day at the start of the school year, a location (a grassy field on campus, the cafeteria, or the gym), and arrange so that each group on campus has a table. An assembly schedule can be employed, only instead of an assembly, this is the event students are attending. Students can walk around, talking to members of each group. For proof of attendance, have each student fill out a sheet with their name and at least one group that he/she is interested in joining and have him/her turn it in for a raffle at the end. This way, all students are aware of all of the activities offered at school, every activity can actively recruit new members, and students are encouraged to get involved.