you're right it is a hackish thing,
but for me it is working, I don't say it is the best solution,
but the other scrobblers I've tried so far had still used the
deprected v1 api...
p.s.: by the way the source code of the plugin and other resources
are available at github. sadly I don't have enough C skills and time to
contribute this functionality, but maybe it is of interest:
https://github.com/lastfm?page=1