Если вы действительно хотите поддерживать релизы, которые не имеют требуемой версии библиотеки, просто используйте статические ссылки. Имея совместно используемую библиотеку, вы являетесь единственным пользователем сбоев в работе с разделяемыми библиотеками, поэтому вы можете просто поместить все это в один двоичный файл. Вы даже сохраните некоторое пространство, так как части библиотеки, которую вы не вызываете, будут выбрасываться.
Я бы предположил, что вы начинаете с одноричной сборки, которая просто отображает зависимость обычно, а затем переключается на статическую связывание, когда вы передаете его в старые версии.