Is there a way to prevent a jira issue transition from happening if all blockers aren't cleared?
Not by default. You will have to write a custom workflow validator to check for blocker issues.
Any experience with doing something like this with Script Runner?
You can do this with a Conditioned validator configured with the appropriate JQL.
It looks like you're new here. Sign in or register to get started.