Finnya, ваша исходная схема вполне себе ничего. Она используется в выходных каскадах инструментальных генераторов синусоидального (и не только) сигнала. На транзисторах собран комплементарный усилитель класса А, который сам по себе имеет минимальные искажения, да ещё потом охвачен ООС с ОУ в петле. Если этот путь не даст линейность, то уже ничего не даст линейность.
Однако, есть проблемы. Первая заключается в очень малой выходной мощности этого УМ, связанной с малым током покоя усилителя класса А. Увеличить эту мощность можно несколькими путями. Первый — увеличить ток покоя, уменьшив сопротивление резисторов R4 и R5. Другой подход — поставить параллельно резистор и обратно включённый быстродействующий диод между базами транзисторов VT3 и VT4, как это сделано в усилителе Агеева. Вам совершенно не обязательно повторять весь усилитель (там заморочки с питанием ОУ, так как требуется выжать из УМ значительно большую мощность, чем позволяет питание ОУ), достаточно лишь повторить выходной каскад (возможно, откалибровав ток покоя, сделав его по-меньше).
Эта новая схема выходного каскада при малых сигналах всё так же работает в режиме А, а при увеличении сигнала очень плавно переключается в режим В. Ключевые слова здесь "очень плавно", так как хоть линейность самого выходного каскада резко падает, в переходе нет никаких изломов. По этой причине эту нелинейность ООС с ОУ в петле всё так же прекрасно компенсируют.
Из других замечаний, хотелось сказать следующее. Вместо 100 кОм регулятор громкости лучше взять 4,7...22 кОм, это чутка снизит шумы. Затем, параллельно ему поставить конденсатор, шунтирующий ВЧ, а последовательно С1 — резистор. И соответствующим образом рассчитать эти два RC-фильтра, чтобы их срезы были ниже 10...20 Гц и выше 20...50 кГц. Это нужно так, как не заземлённый компьютер (да и вообще вся электроника вокруг, в том числе всякие зарядки) будут давать на вход усилителя ВЧ-наводки, которые будут выпрямляться на входе ОУ и добавляться к (умножаться на) входному(ой) сигналу. Лучше это сразу зарезать фильтром. В цепи ООС связи тоже можно номиналы резисторов уменьшить на порядок.
Естественно, ОУ надо взять какой-нибудь современный малошумящий с высоким усилением (порядка 10^4), а не какой-нибудь TL071, у которого усиление всего сотня. Если у ОУ нет внутренней частотной коррекции (или если она слишком жёсткая и не регулируется, отключается), то нужно будет сделать внешнюю частотную коррекцию последовательной RC-цепочкой с выхода ОУ на его инверсный вход. Конкретные номиналы надо будет думать какие взять, так с ходу не сообразишь. Без частотной коррекции любая схема с ООС может возбуждаться.