i generally operate class c networks (/24 subnets) and a few others so that means 252 (after gateways/routers) so is more than enough in all my cases
to answer your query about subnets, because you are using the 10.5.1.0 subnet, you could quite easily extend the subnet to 10.5.0.0/16 which should be more than plenty of addresses - if everything is assigned by DHCP it should be a simple process of updating the DHCP server config with the new subnet (no need to change IP's - except the assignable pool of addresses)
even if its static, as long as your routing gear is updated for the new subnet size everything will still work - the only thing that wont work is communications between non updated devices in the old smaller subnet and any devices that are outside of the range of the original subnet (eg new devices)
it does sound like you probably want to segregate down to VLAN's though and isolate some machines to specific subnets - my question here is, do you need every machine to be able to access every other machine on the network?