A quick suggestion to improve the time to render the blurred image, you could reduce the size of the screen cap before applying the blur: convert $IMAGE -resize 50% convert $IMAGE -blur $BLURTYPE $IMAGE
Then put back to 200% to get back to orginal size convert $IMAGE -resize 200%
I know it's been some time since you published this gist. I used this method until today, but because I use an older computer it would take me 2-5 seconds to take the screenshot, add the effect and then run the i3lock. i3lock-blur flickers and doesnt work in my computer.
I've forked scrot and added a blur option and an option to add an icon here: darddan/scrot
Running scrot -B 5 -i icon.png output.png generates a blurred screenshot with an icon over it in about 300 milliseconds.