Matty,
I've had a similar case with employees who sucked in different ways, but as a person more than capable of being a big asshole I have no trouble at all getting in their face and telling them specifically what they are doing wrong, even if it's a big list. Sometimes I've even thrown in what other people think of them (as usually when they are lazy/incompetent you aren't the only one to notice), this makes it very uncomfortable and forces them to realize they are the weak link. Other people usually thank you later and give you the speech about how they always wanted to say that.
Every single time, there was a complete turnaround, it's almost an instinct in people not to be worst as bad things happen, especially publicly.
Another trick is to save how and when they fucked up for when the boss is around BUT you pretend you didn't notice the boss was around. This is a great way of getting attention to his problems without looking like a tattletale. The boss just "happens" to overhear the fuckup and good things can only happen from there, as he gets accountability and you don't end up looking like someone who tried to get him in shit, you just look like someone who isn't very observative of what he says which further makes him worry about future fuckups.
You can do this with email too. Send an email to buddy about his fuckup, and then CC the boss while asking the boss some question not pertaining or slightly pertaining to the fuckup. Again this alerts the boss while only looking like your trying to kill 2 birds with one email and didn't think to send them seperate.