There is no way to shield a magnetic field.
This is almost
* true in reference to constant magnetic fields.
You can direct it using magnetically permeable material like Mu-metal or Terfenol-D.
Yes, this type of materials would be very effective at diverting constant magnetic fields somewhere else, but there is a class of materials that can beet them hands down.
As you say, it won't work very well for high frequency magnetic fields because it will cause the shield to heat up due to eddy currents. That's how an induction cooker works.
Just the opposite.
You are correct that the shield heats up due to eddy currents and that's how an induction cooker works, but also notice that this is an energy dissipation mechanism (a conversion of alternating magnetic fields to heat).
Furthermore, this dissipation mechanism is more pronounced at higher frequencies, so higher frequencies are dissipated MORE.
I think you forgot to differentiate that constant magnetic fields are shielded by a different mechanizm than varying magnetic fields.
The former is done just like you wrote - by diverting the flux away from the shielded space.
The latter is done by our good old friend, the Lenz's Law (or eddy currents as its corollary).
The current induced in a conductive shield due to the Lenz Law, generates magnetic field which is the
opposite to the field which caused the current to be generated.
The more conductive the shield is, the higher the induced current and in the limiting case (a perfectly conducting shield) the induced current gets so large that it generates magnetic field which is
equal and opposite to the magnetic field that caused that induction in the first place. This creates perfect shielding of varying magnetic fields without diversion.
If the shield is not perfectly conductive, then the eddy currents induced in it decay with time and this means that as time goes on, less and less opposing flux is generated and the shielding effect fades. This is especially true at low frequencies because their cycle periods are so long that these eddy currents have the time to decay significantly, but they don't have enough time to decay at short periods (high frequencies), which explains the frequency dependence of this shielding process.
So conductive shields act as virtual diamagentics (with
negative dynamic magnetic susceptibility) for varying/alternating magnetic fields. The best ones for shielding varying magnetic fields are superconductors
*, followed by silver, copper and aluminium.
That is why the shield of high performance coaxial cables and waveguides is made out of silver or copper. The skin effect guarantees that even thin conductive shields are effective at high frequencies, but low frequencies require thick shields.
Shielding the electric field is easier because you can put something in a sealed metal box and ground it.
Yes
* Superconductors are as good at shielding constant magnetic fields as the varying/alternating ones, because the eddy currents induced in them never decay. They beat mu-metal hands down, but they do it by a different mechanism. See this