Once Parsoid lints are added to the ParserOutput (T361411) it should be straightforward to use a standards LinkUpdate deferred job to add them to the Linter DB table, instead of the special API/Hook that we use now.
A disadvantage may be that this would require all lints to be generated synchronously during the parse. An alternate design has the lints being a special type of deferred job that is /not/ tied to the parse and can be "slower" (aka, can have more complicated lints, and linting time does not affect read-view parse time).