Если бы этот вопрос был решен, довольно очевидно, что это была бы уже какая то другая экономическая система, а не та, что мы называем "советской".
Товарный дефицит это состояние превышения спроса над предложением. Чтобы решить вопрос дефицита необходимо либо увеличить цену на товар (тем самым уменьшив спрос), либо выпускать больше товара (увеличив предложение). То есть необходимо либо гибкое ценообразование либо оперативное наращивание производственных мощностей (а в идеале и то и другое). Но ни то ни другое в неповоротливой и забюрократизированной экономике позднего СССР было совершенно невозможно.
Если говорить о дефиците зарубежных товаров, то для решения этой проблемы требовалась валюта, которой всегда не хватает. И к тому же, если открыть границы для зарубежных товаров - кто бы стал покупать советские? На этом и погорели в 90-е годы, когда все бросились покупать зарубежное и в результате закрылось множество своих производств.