I know that some people consider the presence of a leading underscore to imply that a variable is \"private,\" that such privacy is a fiction, and assume this is why JSLint
Ah, I've got this handled... I wrap the statements that use the underscore prefixed variables with JSLint commands to disable, then re-enable this class of error:
/*jslint nomen: true*/
... statement(s) with _var ...
/*jslint nomen: false*/
JSLint is just a code quality tool. Not completely passing its tests does not mean your code is bad; it simply means you don't follow all the conventions laid out by its creator. Although JSLint makes very good suggestions, it is not always possible to fulfill them all, especially when using someone else's library which was not tested against it. Rather than littering your source code with meaningless meta-comments, you should check your code with the "Disallow dangling _ in identifiers" option disabled, since it seems not to makes sense to use with your particular code.
The best way to handle this is just to enable the "Tolerate dangling _ in identifiers" (nomen) option. See http://www.jslint.com/lint.html for details...
I use JSLInt with node.js. You can pass --nomen flag to get around this feature
jslint --nomen myfile.js