Man braucht nur die erforderlichen Bibliotheken fest linken, und schon läuft das Prog auf jeder Distri (mit derselben Prozessorfamilie). Libreoffice ist so ein Beispiel, oder ich hatte in den 1990ern Applixware. Das läuft sogar heute noch, unter ganz anderen Voraussetzungen (ist natürlich komplett veraltet, aber ich kann meine alten Protokolle damit noch anschauen). Das soll mal einer mit einem Programm von windows 95 auf w7 bis w10 vormachen.
Das andere Problem ist, daß die feste Linkung den Bedarf für den Speicher sehr aufbläht. Gerade kleine Programme, die fast alle Freeware sind, würden dann irre groß. Deshalb gibt es ja das Modell mit den shared Bibliotheken. Ein kommerzieller Anbieter wird sich wenig darum scheren.
Daß oft eine Linux-Version einer Software existiert liegt meiner Meinung daran, daß die Entwickler Bibliotheken benutzt haben, die es unter Linux nicht gibt. Beispielsweise Net von Microsoft. Hätten sie stattdessen z.B. QT benutzt, dann ist einer Portierung ein Kinderspiel und der Aufwand minimal. Beispiel: Opera (zumindest der alte, beim neuen bin ich nicht up-to-date).
Für mich gibt es aber eine Distribution, die mir bis heute alle Wünsche erfüllt hat: Debian. Da gibt es so gut wie Alles, was es für Linux gibt, und kompilieren muß man praktisch nie (habe ich das letzte mal vor 10 Jahren gemacht - ich habe auch keine Lust mehr mich damit zu beschäftigen). Nur wird man sich bei der Administration genauer mit Linux befassen müssen, da ist so gut wie nie klickbunti, sondern das Einlesen und Editieren von Konfigurationsdateien nötig. Das Schöne: Im Prinzip ändert sich sehr wenig bei der Administration von Distribution zu Distribution - ergo: wenn man sich mal reingefizzt hat, dann läuft es.