I finally watched this after all these years. Keanu was a totally decent Americanized version of Constantine. But to me, casting Constantine as dark haired American in LA rather then a blonde brit in the UK is sacrilege. It's as egregious as casting an American James Bond. Even beyond the non-british direction, the movie does such an abbreviated cherry picked bastardization of the source material, that I couldn't bring myself to enjoy it without getting annoyed.
Maybe one day we'll get the more source material accurate British Constantine movie or tv show we all deserve.