I’m working on a somewhat similar problem, but didn’t come up with a solution yet.
I thought about modifying the wordpress core-files and extending the native function that assigns the “current-cat”-class to the active category on archive pages as well to the post, but it obviously isn’t within the category-template.php and I have no clue where else to look.