Two main factors will set the effective range of your detector. Sensitivity of your photodiode and filter performance. The sensitivity of the photodiode is fixed at manufacture. To improve sensitivity you could select a different photodiode or use a lens to gather more incoming light. The filter acts to separate the signal you want from any noise. Provided you can achieve good separation even a tiny signal can be used, so good filtering can greatly increase the effective range of your sensor.
Filter gain has no direct effect on effective range but amplification is important for the function of your circuit. You need to match the output from your filter to your detection circuit so it may be worth using a low fixed gain for the filter itself and having another variable gain amplifier to allow easier matching.
Many photodiodes are most sensitive at longer wavelengths and 950nm is well into the IR portion of the spectrum. Unless your signals have an IR component you need to compare photodiode response at the wavelengths corresponding to your signals.
Sounds like you are on the right track. There are many resources available for designing Sallen and Key type filters (I pull values from tables in Horowitz and Hill's excellent 'The Art of Electronics' as it is sat on my bookshelf). Also be aware that several IC manufacturers produce these types of filter and provide online tools for design.
Be aware that this is a bit of a 'catch all' filtering style. While it will greatly improve your chances of detecting the signals you want you will need to be careful. Shroud your photodiode so that it can not see light from multiple emitters at the same time or you may get crosstalk type problems. If this becomes an issue you may need to look at specific bandpass filtering, but the best thing to do is get it built and start testing it