Have you considered upgrading some of your network? I would really suggest a managed switch in this situation. Maybe a Dlink DGS-1100-16? Then create different VLAN's and have devices you want to be able to share on 1 VLAN and the people you don't want to have access on another. You could do that with subnetting with the different routers, but then your going to have problems with NAT on the different devices.
Also, 300? Are you seeing any latency or packet loss running that length?