I found this 2013 paper claiming to offer the first general continued fraction for $\gamma$ with regular pattern. It has almost exponential convergence. The $\log_{10}$ of absolute error is plotted below:

The error is of the order of $10^{-17}$ at $100$ steps of the algorithm.
The continued fraction it creates is a little bit complicated, starting with several terms having no apparent pattern:
$\gamma=\cfrac{1}{2-\cfrac{1}{4-\cfrac{5}{16+\cfrac{36}{59-\cfrac{15740}{404-\cfrac{1489700}{30422-...}}}}}}$
The next partial quotents grow very fast in absolute value.
The computation of partial quotents after $5$ is based on a complicated three order reccurence relation, which is described in details in the paper on page 14.
First, we define:
$q_n=\sum^{n}_{k=0} \left( \begin{matrix} n \\ k \end{matrix} \right)^2 k!$
Then we define the few initial values $d_1=-1$, $d_2=-2$, $d_3=-5$, $d_4=8$ for a $3^{rd}$ oder reccurence relation for $n \geq 3$:
$(n-1)(n-2)d_{n+2}=$
$=(n-2)(n+1)(n^2+3n-2)d_{n+1}-n^2(2n^3+n^2-7n-4)d_n+n^4(n-1)^2d_{n-1}$
Then the partial quotents $\frac{a_n|}{|b_n}$ will be defined for $n \geq 6$ as:
$a_n=-\frac{(n-1)^2}{4}d_n d_{n-2}$
$b_n=n^2 d_{n-1}+\frac{(n-1)(n-2)}{2}q_{n-2}$
Here is my implementation in Mathematica.
A0 = {{0, 1}, {1, 0}}; Af = {{1}, {0}}; Nm = 100; q = Table[\!\( \*UnderoverscriptBox[\(\[Sum]\), \(k = 0\), \(n\)]\( \*SuperscriptBox[\(Binomial[n, k]\), \(2\)]\ \(k!\)\)\), {n, 1, Nm}]; d = Table[0, {n, 1, Nm}]; d[[1]] = -1; d[[2]] = -2; d[[3]] = -5; d[[4]] = 8; Do[d[[n + 2]] = ((n + 1) (n^2 + 3 n - 2) d[[n + 1]])/(n - 1) - ( n^2 (2 n^3 + n^2 - 7 n - 4) d[[n]])/((n - 1) (n - 2)) + n^4 (n - 1)/(n - 2) d[[n - 1]], {n, 3, Nm - 2}]; a = Table[0, {n, 1, Nm}]; b = Table[0, {n, 1, Nm}]; b[[1]] = 2; b[[2]] = 4; b[[3]] = 16; b[[4]] = 59; b[[5]] = 404; a[[1]] = 1; a[[2]] = -1; a[[3]] = -5; a[[4]] = 36; a[[5]] = -15740; Do[a[[n]] = 1/4 (-(n - 1)^2) d[[n]] d[[n - 2]]; b[[n]] = n^2 d[[n - 1]] + 1/2 (n - 1) (n - 2) q[[n - 2]], {n, 6, Nm}]; er = Table[0, {n, 1, Nm}]; Do[A1 = {{b[[n]], 1}, {a[[n]], 0}}; P0 = A0.Af; A0 = A0.A1; P = A0.Af; Pf = N[P[[1, 1]]/P[[2, 1]], 20]; er[[n]] = Log[10, Pf - EulerGamma]; Print[n, " ", Pf, " ", Pf - EulerGamma], {n, 1, Nm}] ListPlot[er]
1 arXiv:1010.1420 [math.NT]