Another option is to group many statements into one policy, so you can manage the statements separately.
So for my situation I'm managing the policies in Terraform modules, so I pass the role around and feed it into a module and have that module attach the necessary permissions.
I'm going to switch this so that the module outputs the statement blocks and then I will merge the statements into one policy and attach it to the role.
So basically just invert the hierarchy of the data structures.