Why is all of the energy from a battery stored on an inductor but only 50% on a capacitor?
however I can't think of the fundamental reason as to why it is completely impossible to charge a capacitor with anything but 50% of the battery energy whereas an inductor could theoretically store 100%.
Essentially, to charge a capacitor with finite current from a voltage source requires dissipation. Why? Consider the ideal capacitor equation (in circuit theory):
$$i_C = C\frac{dv_C}{dt}$$
For $i_C$ finite, $v_C$ must be continuous. Since an uncharged capacitor has zero volts across, connecting an uncharged capacitor across a (non-zero) voltage source implies that, for finite current, some 'resistance' across which the voltage difference can drop. It follows that the energy stored in the capacitor is less than the energy delivered by the source since some energy is dissipated by the resistance (in whatever form it takes).
However, the ideal inductor equation is:
$$v_L = L \frac{di_L}{dt}$$
Note the difference here; specifically note that the voltage across can be discontinuous without implying infinite current. This is the crucial difference; the voltage across and current through are finite even for the ideal zero resistance case and so we can (ideally) charge an inductor with a voltage source without dissipation.
When you try to force current through a superconducting inductor, the change of current will generate a back emf that will limit how much current can flow. The value of this back e.m.f. is $-L\frac{dI}{dt}$, and the work done by the current is the product of the current and the back emf. If the back emf is exactly equal to the voltage of the battery, current can flow (and can keep increasing - the rate of change of current is $\frac{dI}{dt}=-\frac{V}{L}$ ). This shows the current will increase linearly as all the energy of the power source is converted to magnetic energy - there is no need for a "loss" of energy in the transfer of energy from a battery to an inductor.
By contrast, when you start charging a capacitor, its initial voltage is zero. Electrons that start off with the full potential of the battery will have to lose most of that energy on their way to the capacitor, where they will only have a very small initial potential (since V=Q/C, and Q starts out at 0).
So in the inductor, the energy is actually stored in the B field; in the capacitor, it is stored in the electrons that came from the battery.
If you could "ramp" your battery (make its voltage increase as the capacitor is charging) you would be able to get (close to) 100% of the energy of the battery transferred. There are certain switching power supplies that try to mimic this type of thing by rapidly opening and closing a switch between source and load, with an inductor in series to smooth some of the power fluctuations that this would otherwise bring about.