Is it possible to change the user's shell system-wide without using chsh?
You should be able to use
sudo chsh -s /usr/local/bin/fish USERNAME

to change user USERNAME to a shell which isn't listed in /etc/shells.
PS: Might be worthwhile to create a second admin account first so you won't get locked out if the behaviour changes with future releases.