Я использую другой подход:
Есть различные сервисы, которые по текстовому лаконичному описанию сами рисуют диаграмы.
Т.е. чтобы изменить диаграму ее не надо заново рисовать или двигать блоки вручную, достаточно поправить исходник и диаграма будет перестроена.
Пример такого языка D2 и сервис
https://play.d2lang.com/
Есть и другие.
Я думаю, что если набить руку по написанию на подобном языке, возможно часть проблем удасться решить.