doing FFT is equivalent to a bank of narrow filters, you can do hardly better than that. You could increase your FFT size, but this requires that the signal is stationary within the FFT size, which is typically not the case in biological systems.
If you know the signal (amplitude and phase) you could also do a matched filter, that gives you the energy of the signal, and suppresses noise (keyword: gain = time-bandwith product). otherwise for broadband signals with unknown amplitude and phase, you could use band-pass filters, removing out of band noise.
But again and FFT is already a bank of narrow-band filters.