I don't think that this is Angular specific. Long lived branches is a known problem in development world. So far I only encountered one solution/rule that worked (for me): long lived branches can only do nonbreaking changes. If you want to have a long lived branches and it will have a breaking change/feature, then you should first extract breaking behaviour to the develop branch and only then work in the long lived branch or feature.
This is obviously quite hard to do in some cases, but I didn't found anything else that works in such situations.