Manually downloading the same shell scripts on every machine is just doing what the package manager is supposed to do for you
If you have a package manager available, and what you need is available there, sure. My Synology NAS, my Knulli, my cygwin installs in Windows, my Android device.. they are not so easy to have custom shells in (does fish even have a Windows port?).
I rarely have to manually copy, in many of those environments you can at least git clone, or use existing syncing mechanisms. In the ones that don't even have that.. well, at least copying the config works, I just scp it, not a big deal, it's not like I have to do that so often.. I could even script it to make it automatic if it ever became a problem.
Also, note that I do not just use things like z straight away.. my custom configuration automatically calls z as a fallback when I mistype a directory with cd (or when I intentionally use cd while in a far/wrong location just so I can reach faster/easier).. I have a lot of things customized, the package install would only be the first step.