One issue we did have when there was large numbers not everyone can bat so we had a rota system. But this lead to players not turning up when it was not their week to bat.
I was giving this some thought on the way in to work. Over the season, you have a netting competition. It requires some organisation though.
On the nets you mark scoring zones (and the scores, e.g. 1, 2, 6), and you apply the standard indoor -5 runs for an out. Each session where you bat, your score is recorded. You run each batting session with two bowlers bowling in six ball spells. When a bowler isn't bowling they are umpiring and recording scores. This causes LBW to come into play and helps to get (hopefully) some of your lower order batsmen used to umpiring for when they need to do it in a match. It should, therefore, bring more discipline into the net bowling.
When fielding, anyone hitting the stumps with a throw gets a +5, anyone dropping a catch gets -5, plus other permutations for when ground fielding, e.g., failing to field results in -2. No show with not enough notice (i.e. last minute can't be bothered) results in -50.
Make sure that you have a decent prize for the winners of the competition, e.g. an Ayrtek Helmet, or a voucher to spend with a Cricket retailer, so that everyone keeps on coming and that can be managed from subs.
Does require a bit of organisation and someone designated as a club coach.