Ставлю что-либо в debian - сразу ставится куча библиотек, с которыми было скомпилировано приложение. Но которые (libavahi и прочие libsystemd) не нужны мне, а засоряют систему. Альтернатива - gentoo.
Но вот, например, firefox умеет плагины, которые вполне себе shared library, только загружаемые по ходу исполнения.
И делается это вместо обычной линковки тривиально.
Почему даже крупные проекты, которые умеют зависеть от многих библиотек, не используют подгрузку только нужных библиотек по ходу исполнения? Есть, например, в системе libavahi - подгрузим его, нет - ну и ладно, а для себя отметим, что avahi недоступен и не станем его пытаться использовать.