Tschirnhausen transformations and the quartic
Here we show how a Tschirnhausen transformation can be used to solve a quartic equation. The steps are:

Ensure the quartic is missing the cubic term, and its initial coefficient is 1. We can do this by first dividing by the initial coefficient to obtain an equation \[ x^4+b_3x^3+b_2x^2+b_1x+b_0=0 \] and then replace the variable \(x\) with \(y=xb_3/ 4\). This will produce a monic quartic equation missing the cubic term.
We can thus take \[ x^4+bx^2+cx+d=0 \] as a completely general formulation of the quartic equation.

Now apply the Tschirnhausen transformation \[ y = x^2+rx+s \] using the resultant, which will produce a quartic equation in \(y\).

Chose \(r\) and \(s\) so that the coefficients of the linear and cubic terms are zero. This will require solving a cubic equation.

Substitute those \(r,s\) values into the resultant, which will produce a biquadratic equation in \(y\): \[ y^4+Ay^2+B=0. \] This can be readily solved as it's a quadratic in \(y^2\). Finally, for each value of \(y\), and using the \(r,s\) values, solve \[ x^2+rx+sy=0. \] This will in fact produce eight values, of which four are the solution to the original quartic.
An example
Consider the equation \[ x^494x^2480x671=0 \] which has solutions
\begin{align*} x &= 2 \, \sqrt{5} \pm \sqrt{3} \sqrt{9 4\, \sqrt{5}},\\ x &= 2 \, \sqrt{5} \pm \sqrt{3} \sqrt{9 + 4 \, \sqrt{5}} \end{align*}
Note that these relatively nice solutions arise from the polynomial being factorizable in the number field \(\mathbb{Q}[\sqrt{5}]\). We can show this using Sagemath:
1N.<a> = NumberField(x^25)
2K.<x> = N[]
3factor(x^4  94*x^2  480*x  671)
\[ (x^{2}  4 a x  12 a  7) \cdot (x^{2} + 4 a x + 12 a  7) \]
We shall continue to use Sagemath to perform all the dirty work; here's how this solution works:
1var('x,y,r,s')
2qx = x^4  94*x^2  480*x  671
3res = qx.resultant(yx^2r*xs,x).poly(y)
We now want to find the values of \(r\) and \(s\) to eliminate the linear and cubic terms. The cubic term is easy:
1res.coefficient(y,3)
\[ 4s188 \] and so
1s_sol = solve(res.coefficient(y,3),s,solution_dict=True)
and we can substitute this into the linear coefficient:
1res.coefficient(y,1).subs(s_sol[0]).factor()
\[ 480(r+10)(r+8)(r+6). \] In general the coefficient would not be as neatly factorizable as this, but we can still find the values of \(r\):
1r_sol = solve(res.coefficient(y,1).subs(s_sol[0]),r,solution_dict=True)
We can choose any value we like; here let's choose the first value and substitute it into the resultant from above, first creating a dictionary to hold the \(r\) and \(s\) values:
1rs = s_sol[0].copy()
2rs.update(r_sol[0])
3rs
\[ \lbrace s:47,r:8\rbrace \]
1res.subs(rs)
\[ y^4256y^2+1024 \]
1y_sol = solve(res.subs(rs),y,solution_dict=True)
This will produce four values of \(y\), and for each one we solve the equation \[ x^2+rx+sy=0 \] for \(x\):
1for ys in ysol:
2 display(solve((x^2+r*x+sy).subs(rs).subs(ys),x))
\begin{align*} x &= \sqrt{4 \, \sqrt{2 \, \sqrt{15} + 8} + 63} + 4,& x &= \sqrt{4 \, \sqrt{2 \, \sqrt{15} + 8} + 63} + 4\\ x &= \sqrt{4 \, \sqrt{2 \, \sqrt{15} + 8} + 63} + 4,& x& = \sqrt{4 \,\sqrt{2 \, \sqrt{15} + 8} + 63} + 4\\ x& = \sqrt{4 \, \sqrt{2 \, \sqrt{15} + 8} + 63} + 4,& x& = \sqrt{4 \,\sqrt{2 \, \sqrt{15} + 8} + 63} + 4\\ x& = \sqrt{4 \, \sqrt{2 \, \sqrt{15} + 8} + 63} + 4,& x& = \sqrt{4 \, \sqrt{2 \, \sqrt{15} + 8} + 63} + 4 \end{align*}
We can check these values to see which ones are actually correct. But to experiment, we can determine the minimal polynomial of each value given:
1for ys in ysol:
2 s1 = solve((x^2+r*x+sy).subs(rs).subs(ys),x,solution_dict=True)
3 ql = [QQbar(z[x]).minpoly() for z in s1]
4 display(ql)
\begin{align*} &x^{4}  94 x^{2}  480 x  671,&& x^{4}  32 x^{3} + 290 x^{2}  64 x  6431&\\ &x^{4}  94 x^{2}  480 x  671,&& x^{4}  32 x^{3} + 290 x^{2}  64 x  6431&\\ &x^{4}  32 x^{3} + 290 x^{2}  64 x  6431,&& x^{4}  94 x^{2}  480 x  671&\\ &x^{4}  94 x^{2}  480 x  671,&& x^{4}  32 x^{3} + 290 x^{2}  64 x  6431& \end{align*}
Half of these are the original equation we tried to solve. And the others?
1qx.subs(x=8x).expand()
\[ x^{4}  32 x^{3} + 290 x^{2}  64 x  6431 \] This is in fact what we should expect, from solving the equation \[ x^2+rx+sy=0 \] If the roots are \(x_1\) and \(x_2\), then by Vieta's formulas \(x_1+x_2=(r)=r\).
Further comments
The trouble with this method is that it only works nicely on some equations. In general, the snarls of square, cube, and fourth roots become unwieldy very quickly. For example, consider the equation \[ x^4+6x^260x+36=0 \] which according to Cardan in Ars Magna (Chapter XXXIX, Problem V) was first solved by Ferrari.
Taking the resultant with \(yx^2rxs\) as a polynomial on \(y\), we find that the coefficient of \(y^3\) is \(4s+12\), and so \(s=3\). Substituting this in the linear coefficient, we obtain this cubic in \(r\): \[ 5r^39r^260r+300=0. \] The simplest (real) solution is: \[ r = \frac{1}{5} \, {\left(50 \, \sqrt{3767}  3273\right)}^{\frac{1}{3}} + \frac{109}{5 \, {\left(50 \, \sqrt{3767}  3273\right)}^{\frac{1}{3}}} + \frac{3}{5} \] Substituting these values of \(r\) and \(s\) into the resultant, we obtain the equation \[ y^4+c_2y^2+c_0=0 \] with \[ c_2=\frac{6 \, {\left({\left(50 \, \sqrt{3767}  3273\right)}^{\frac{2}{3}} {\left(50 \, \sqrt{3767}  18969\right)}  {\left(7200 \, \sqrt{3767}  483193\right)} {\left(50 \, \sqrt{3767}  3273\right)}^{\frac{1}{3}} + 100 \, \sqrt{3767}  6546\right)}}{25 \, {\left(50 \, \sqrt{3767}  3273\right)}} \] and \[ c_0=\frac{27\left(% \begin{array}{l} 2\,(14353657451700 \, \sqrt{3767}  880869586608887)\, (50 \, \sqrt{3767}  3273)^{\frac{2}{3}}\\ \quad+109541 \, (2077754350 \, \sqrt{3767}  127532539917) (50 \, \sqrt{3767}  3273)^{\frac{1}{3}}\quad{}\\ \hspace{18ex}  5262543802068000 \, \sqrt{3767} + 322980491997672634 \end{array}% \right)} {625 \, {\left(2077754350 \, \sqrt{3767}  127532539917\right)} {\left(50 \, \sqrt{3767}  3273\right)}^{\frac{1}{3}}} \] Impressed?
Right, so we solve the equation for \(y\), to obtain \[ y=\pm\sqrt{\frac{1}{2}c_2\pm\frac{1}{2}\sqrt{c_2^24c_0}}. \] For each of those values of \(y\), we solve the equation \[ x^2+rx+sy=0 \] to obtain (for example) \[ x= = \frac{1}{2} \, r \pm \frac{1}{2} \, \sqrt{r^{2}  4 \, s + 4 \, \sqrt{\frac{1}{2} \, c_{2} + \frac{1}{2} \, \sqrt{c_{2}^{2}  4 \, c_{0}}}} \] With \(r\) being the solution of a cubic equation, and \(c_0\), \(c_2\) being the appalling expressions above, you can see that this solution, while "true" in a logical sense, is hardly useful or enlightening.
Cardan again: "So progresses arithmetic subtlety, the end of which, it is said, is as refined as it is useless."