The only thing that's not available is developer portal content. Everything else is available through ARM.
Yes, each template is limited to 1MB. Our proposed approach uses linked templates, which helps to keep each template relatively small.
Check out this article, if you use a private repo, you can add a step in your pipeline to copy the linked templates to a blob container and access the files with a SAS token.
In our example, each template can be deployed individually. You can also use the master template, which ties everything together, to deploy all templates.