We can redefine only the brackets used by biblatex
to change as follows
\setbox0=\hbox{0}
\newlength\htz\newlength\dpz
\htz=\ht0\relax
\dpz=\dp0\relax
\let\svlb[
\let\svrb]
\def\shftlb{\setbox0=\hbox{\svlb}\raisebox{%
\dimexpr-.5\ht0+.5\htz+.5\dp0-.5\dpz}{\svlb}}
\def\shftrb{\setbox0=\hbox{\svrb}\raisebox{%
\dimexpr-.5\ht0+.5\htz+.5\dp0-.5\dpz}{\svrb}}
\makeatletter
\renewcommand*{\bibleftbracket}{\blx@postpunct\shftlb}
\renewcommand*{\bibrightbracket}{\blx@postpunct\shftrb\midsentence}
\makeatother
The "new" brackets are \shftlb
as drop-in for [
and \shftrb
for ]
in biblatex
contexts.
MWE
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[
backend=biber,
style=numeric
]{biblatex}
\setbox0=\hbox{0}
\newlength\htz\newlength\dpz
\htz=\ht0\relax
\dpz=\dp0\relax
\let\svlb[
\let\svrb]
\def\shftlb{\setbox0=\hbox{\svlb}\raisebox{%
\dimexpr-.5\ht0+.5\htz+.5\dp0-.5\dpz}{\svlb}}
\def\shftrb{\setbox0=\hbox{\svrb}\raisebox{%
\dimexpr-.5\ht0+.5\htz+.5\dp0-.5\dpz}{\svrb}}
\makeatletter
\renewcommand*{\bibleftbracket}{\blx@postpunct\shftlb}
\renewcommand*{\bibrightbracket}{\blx@postpunct\shftrb\midsentence}
\makeatother
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}