In my opinion, using equalisation (whether software or hardware) "naively", just by trying to fix the magnitude response of a transducer (headphones in this case) is not the best approach. There is a whole bunch of things one should consider/take into account in order to "fix" the sonic signature of a transducer.
One thing that oftentimes is skipped by people is the phase response. We have to realise that the phase response plays an integral and very important role to the impulse response of a system. You may have something that has flat (or the desired) magnitude response but a scrambled phase response and end up with a (rather) "broad" impulse response, which will most probably sound muddy (lack of clarity).
The phase of the system depends on a bunch of hardware parameters (such as the size, mass, structural characteristics of the transducer, support, magnetic flux of the voice coil's magnet, etc.) which is not straight forward to fix. For this reason and the fact that you don't really have to know the source of the problem in order to, partially at least, fix it led people to use electronic (analogue or digital) equalisation. This, does indeed solve some of the problems but may not solve the problem in its entirety. It is well known and understood that with filtering you can (most often) correct only the minimum phase characteristics of the transducer (for more information see the Wikipedia page along with this Wikipedia Talk with some corrections on the article).
I won't go into details about it, but in general, with filtering, you can correct only the minimum phase part of the frequency response (here I mean magnitude and phase together and only the minimum phase components of this representation can be altered with filters). Nowadays, in many cases you can work quite well with filters on transducers because the aforementioned issues are known to manufacturers and design their systems in such a way to exhibit minimum phase characteristics in a big part of the spectrum. Nevertheless, since this is not always the case one should be very cautious with naively using equalisation on transducers.
Conclusion: If this was not the case, one would very easily invert the frequency response (magnitude and phase) to create the inverse filter (or one that would resemble their desired response) through a simple inversion in the frequency domain. Then applied to the system it would "fix" everything. Apparently, this is not the case.