I find the most transparent way of managing dynamics for me is often to split up the job across various smaller corrections which all work together to achieve the desired result with fewer unwanted artifacts, rather than trying to do it with a single tool.
Some enveloping for baseline level adjustments, limiting to manage peak excursions, maybe some mild compression for the range between baseline and peaks, parallel comp to bring up the low level detail, a dash of salt, splash of basalmic, handfull of crutons, etc.