I weighed pros and cons of structured editing packages. I am leaning toward electric-pair-mode because it looks like the simplest option. I don't want to be distracted by bugs and quirks in sophisticated structured editing packages. This is my current electric-pair-mode configuration.
(add-hook 'prog-mode-hook #'electric-pair-local-mode)
I like the simplicity that comes with a simple orthogonal configuration.I use lispy.el. What does electric pair mode give you? https://oremacs.com/lispy/