I've been using fish for years now and cannot remember the last time something broke because it required bash but was run by fish.
One thing I do differently than most is I don't make fish my system-wide default shell. I leave that as whatever the system default is. Instead I just make fish the default shell within the terminal emulator I use.
Never had an issue with it, and it is much easier to setup as well.