Hey James, sorry to hear you're getting blasted by negative links and appreciate your responses here.
I actually sorted this one out (fingers crossed it stays that way) by having the dev team implement a redirect rule that 301 redirects any query string back to the folder we want ranking. Similar signal to what the canonical tag would send but in my opinion a stronger signal since there is no longer a way to reach those weird query string URLs with a 200 response.
Once that was implemented the appropriate page was right back to its old high ranking position and the query strings are hardly to be seen in the index and are no longer preferred to the old ranking page - so looks like all is right with the world again.
We also disavowed the domain that was the source of many of the query string URLs. I don't think it was a case of negative SEO - just bad coding on their side. I'm not sure what exactly did the trick but I suspect strongly that the 301 redirects is what solidified the index due tot the strong correlation of that change with ranking recovery.
Maybe you can employ a similar solution whereby you can disavow domains where these links originate or set up server side handling to manage URLs of a specific pattern - for example, any URL containing "pornsite.com" if not any query string altogether (in our case we don't have any use for query strings in our URLs so just bagged them all).
Thanks again,
Matt