i don't know the details yet, but iiuc, there is at least some infrastructure in nvim-treesitter for indentation: https://github.com/sogaiu/nvim-treesitter/#indentation possibly that might be useful at some point?
My weapon of choice: junegunn/vim-easy-align