My vote goes to Ty Cobb, he wasn't a power hitter, but he hit for average. He hit .400+ three times in his career, he finished with a .366 career batting average and had 4189 career hits. In my opinion he should win this round, he just knew how to make contact with the ball with ease.
I'll go with Ty Cobb. He, in my mind, was the best hitter to ever live. He had good fundamentals at the plate. He was a decent power hitter. He probably hit the most consistent throughout his career as I can think of.
Right now, it's a tossup between Cobb and Hornsby.
Here's how I see it:
Cobb has a 167 career OPS+, and Hornsby has a 175 career OPS+.
But Cobb also played considerably longer (about 800+ games). So he had a decline phase, whereas Hornsby did not.
But when we talk about the best players at a particular area of the game, I lean more towards peak than career - though a players ability to maintain said greatness does factor in. But in this situation, I am more apt to compare the peaks of these players, over their entire careers.
Ty Cobb is the all-time leader in BA, whereas Hornsby is 2nd (.367 vs. .358). This is more crucial seeing as how BA was the formost offensive weapon of the time period (moreso for Cobb, but still for Hornsby).
Cobb didn't have the HR as an option really. He was already halfway through his career before the Live-Ball era was introduced (1920). Hornsby on the other hand was only 24 years old when 1920 rolled around. So he was still growing as a player and was able to add HR's as a part of his repertoire. Cobb was 33 at the time of the shift, and was well entrenched in his ideas of how to play the game. Cobb grew up with one style of ball - and he was great at it. In fact, he was by far and away the greatest player to grace the baseball diamond...until Babe Ruth showed up.
But a lot of what made Cobb great was his baserunning/basestealing. Now that did add to his offensive production, but this seems to be more attuned to just hitting, not baserunning as well.
We can't forget Hornsby though. He was not slouch with the bat. In fact, he dominated his league as much if not more so than just about everyone else. If you ever wondered who was 3rd all-time in Black-Ink scores - that's right, it's Hornsby. Though true, he is behind Ty Cobb. But considering he had considerably less playing time, and the fact that SB's are accounted for in Black Ink, despite that not being a factor for this discussion (as mentioned above). So that too closes the gap.
Like I said earlier, Cobb was not in as great of a position to use HR's as an offensive weapon, as that would have meant a total change in his approach to the game. So I do not fault him for not converting over to the Live-Ball style of play. But on the same hand, I DO give some credit for Hornsby for doing just that. He WAS the first player in the NL to his 40 HR in a season. And he was the first NL player (in the 20th century), to have 150+ RBI.
During Hornsby's run of the '20's, he was just downright dominant. His run from 1920 to 1929 is up at the top of the top - with the best of the best.
He had only one non-"great" year in the whole bunch - 1926, with a 124 OPS+. Other than that year, he only had 1 other season where he had a BA lower than .370 (and he hit .361 that season with 26 HR and a 175 OPS+ - not too shabby.
I still consider Cobb the better player, due to his longevity, his baserunning feats, and his defense. And this is despite Hornsby being a Secondbaseman (mostly due to the fact of Hornsby's deficiencies in the defensive department).
But in the end, this argument is for best hitter, so I lean towards Hornsby right now. But it is SOOO close, that I could really go either way. But whichever one wins here, the other one deserves to win the #4 spot!
Count me in the Gehrig camp. He got on base more often than Cobb, and he hit for enormously better power. Also, contrary to popular myth, his career numbers in batting average AND on-base percentage AND slugging average were all better on the road than they were at Yankee Stadium. Ponder those facts for a minute.
Not counting 19th century players, the all-time career on-base percentage list begins with Williams, Ruth and Gehrig. The all-time slugging average list begins with Ruth (by an enormous margin), Williams and Gehrig. The all-time OPS+ list, not counting a certain blatant PED fraud, begins with Ruth, Williams and Gehrig.
If the question asked for the #3 "offensive player" of all time, I'd put Cobb ahead of Gehrig. I might have put him ahead of Williams, too, though that's a lot more doubtful. But this question only asks who was the greatest hitter other than Ruth and Williams. I think it's Gehrig, and it's a pretty easy call for me.