The old school "everything is in a tar + bash wrapper that sets LD_LIBRARY_PATH" method is an option, but I don't know if that's actually good.
As someone with experience shipping games on Linux, this is the best option in my opinion. It allows you to make some assumptions about what a user will need without preventing them from running your game with system or custom libraries if they need or desire. This is the approach I use for all of my non-Godot games and for contract work when I've been hired to port a game or support a developer in shipping Linux builds.
Fellow porter Ethan "flibitijibibo" Lee recommends the same approach, and has a bit of a breakdown of his methodology over here if that's helpful at all.