Make sure there's a blank line after each Rule.
Add a numbered comment to each rulseset to make it easier to tell you which ones to swap the order or to modify.
List rules that block access first, redirects next and rewrites last. Make sure all the rules use RewriteRule and NOT Redirect or RedirectMatch.
Every rule needs the L flag.
Where a leading or trailing .* is both uncaptured and unanchored it can be deleted,
i.e. ^this/.* simplifies to ^this/ and .*/that$ simplifies to /that$
^.*$ simplifies to .*
^(.*)$ simplifies to (.*)
Fix up what you can and post again.