One way to make Carcassonne less luck-driven is to draw a "hand" of three tiles, rather than just reveal the tiles one by one. It does make the game a little longer, but that's not a big deal if you're play with 2 or 3 players only.
I don't really see how it makes the game longer. If anything, I'd imagine it would shorten the game a bit.
Caveat: I haven't tried this, so I could be talking out my ass here.
So, if you play with just one tile that is revealed when it's your turn, then you have some processing time to consider. You draw a tile. If you're lucky, it's exactly what you've been hoping for during the last three players' turns. Boom, you're done. Most likely, it's something that has a dozen different placement options, and you need to spend a few moments calculating the most point gain while denying your opponents as best as possible. So the next player has to wait before seeing his tile. That means the player after him has to wait, etc.
Now, this could be offset by simply drawing a tile at the end of your turn, giving you a whole round to figure out where to place it. That alone would cut down on time.
But a hand of three would allow you not only that luxury but also the ability to prepare a contingency plan when it's not your turn. You're sitting there with the perfect tile that'll get you 20 points. All that needs to happen is that Carl doesn't put a tile in that exact same…oh, goddammit, Carl, why did you do that? Okay, fine, now you have your monastery ready for plan B.
Again, this is all theoretical for me, but it sounds good.