Maybe tabs not currently being viewed should have their JS throttled? Is this an option in FF yet?
Earlier this year I realized a major offender was Google search and search results pages which would spin up a core more than once a minute.
This explained to me at least why it was still hogging cpu even with ad blocker.
https://billmccloskey.wordpress.com/2016/10/27/mozillas-quan...
and a preliminary version is in Chrome 56: