It just seems to me that of all young actors I know who sort of have the "look" of Keats, he seems like the most likely to be able to pull off the emotional demands of the role. "Macbeth" is a great example of his ability to effectively pull off a variety of psychological states and draw the audience into the character. Plus, he's still sort of an up-and-coming actor (I know that I didn't learn of him until I was in Scotland, so I'm not sure how widely known or recognizable he is in your neck of the woods, Saturn, but I'm pretty sure that 99.9% of folks outside the UK/Ireland wouldn't know who he is). For that reason, it would be much easier for people to see him as Keats than as the actor, or some other character he has played.
Like you, Saturn, I would probably prefer a complete unknown for the role, but of all names already out there, it just seems like James McAvoy fits the bill in so many ways that I've become quite attached to the idea.
"Holy Kleenex, Batman! It was right under our nose and we blew it!"