I can’t discuss the specifics of it here but for a peaking EQ response, the filters are similar to those described by Orfanidis et al. The basic principle being that you need to design your filter response to have the same gain at Nyquist as it would have in the analogue domain, rather than unity, as is the case with a cramped response.
For (resonant) shelving, the method is more involved, but suffice to say that you do still need to adjust shelving filters too as otherwise the slope deviates from the expected (analogue) response significantly as you approach Nyquist).
Within specific plug-ins there may also be some freq / gain / Q dependency but this is intentional and not to be confused with a cramped response. (There is sometimes an assumption that de-cramping is not important because it only happens at high frequencies, but for certain types of filters / parameter choices the effects of cramping the response at high frequencies extend noticeably into the high-mid range too).
There’s a whole discussion to be had about alternative approaches - for example:
Obviously you can use a higher sample rate - however this doesn’t stop the response being cramped, it just moves it so far out of the audible range as to be negligible, comes with a CPU penalty and may not be appropriate for the target medium (meaning you eventually have to sample rate convert anyway, with attendant artefacts).
Similarly, internally upsampling comes with a (possibly worse) CPU penalty, and the up / down conversion process normally adds latency, and in some cases ‘pre-ringing’ artefacts, and, if you chain multiple plug-ins together, you could be up / down sampling between each one.
Some DAWs (Reaper IIRC) provide the option to oversample the entire plug-in chain, but that option should be used with caution because some plug-ins may blow up with (extreme) higher sample rates (e.g. 4, 8 or even 16X) and you will still run into some of the issues mentioned previously - just maybe not quite as bad as converting up / down multiple times in individual plug-ins.
That’s way more than you probably asked for, but it seemed a logical place to show that there is no ideal solution. I decided to go with what I thought was the best in terms of additional CPU usage, latency and audible performance.