Are there are criteria that are met to determine when a snapshot occurs? Is the snapshot schedule something that is affected by the size of the network (e.g. do more full nodes mean snapshots are more widely spaced?). Will they occur more frequently as the network scales?
At the moment, a Snapshot happens when the IOTA foundation decides to do so. There are plans to add automatic snapshotting (probably based on the number of confirmed transactions since the last snapshot), but since they are only plans now, nobody knows exactly how they will work.
As currently every full node will eventually see every transaction, the number of full nodes is irrelevant to the frequency of snapshots.
Until now there is no formal nor oficial rule that defines when a Snapshot must be conducted. Normally it occurs when the network needs update, correction or due to a new release. The snapshot is announced by the team and must be independently validated prior to its confirmation and then it takes place by being set to run via the coordinator. This process can be seen in the following link: IOTA Snapshot proposal