I’ve done something similiar to this over the years for organization purposes and not having to change much between shells except add a path. You can also add cases that check your shell and do something slightly different if needed.
I like fish abbreviations. They are like aliases but expand when you press space or enter. That way you can edit it, and also still see the full command so you are less likely to forget it when you don’t have your aliases. Of course I have some scripts as well.
And: Fish implements aliases as scripts! When you use alias —save, fish creates as script with a function in it.
I also switched to scripts. Aliases tend to break in loops with modified IFS
Honestly, I’d rather record command and flags instead of relying on aliases to do that for me.
Unless if its something very “niche” (like automatically pulling the required third party software everytime the distro boots up on .bash_profile).