Have you tried the alternative keyboards available for Android? They’re as good a physical keyboard but they help a bit when typing.

I’ve heard good things about Swype, SwiftKey and 8pen.