1. Pump out versioned tarballs, and let distro maintainers deal with packaging. 2. Create a very thin launcher, and deal with updates yourself in the Launcher. Minecraft does this. 3. Provide package repositories for Ubuntu and Fedora and deal with updates yourself. Chrome does this.
I think (1) and (2) are preferable. (1) is also the easiest to implement (!), but may result in delayed distribution to the end user.
It is possible to mix (1) and (3), of course.