I don't think auditing will show you who activates or deactivates features.
But you could set log level to verbose, like this:
Set-SPLogLevel -TraceSeverity Verbose -EventSeverity Verbose
and then you could look for __Current User=...*, although I can not guarantee it will work, and setting log level to verbose will of course also have its implications.
Another completely different approach is to do the logging yourself through JavaScript, example with jQuery:
$('[value=Activate],[value=Deactivate]').click(function() {
// Do ajax here
});
then you could either use Client Object Model to get the current user or even just post directly to a WCF Service, which should know what users is calling it, and then log this information in any way you want. For example using SPLog.