You can't compare Keston to the regular players considering he's not even a regular player himself. Yes, the results-driven stats say he's been good, but, like everything, you have to take it all in context. For example, you point out Adames as a guy that's struggling (though he leads NL shortstops in HRs and is third in OPS), but the expected stats actually say he's been better last year and has been just been extremely unlucky with a .230 BABIP.
Team wise, I would just forget batting average. It's not particularly relevant in today's game. The best thing is to use adjusted stats like OPS+ and WRC+. By WRC+, we're 12th in MLB at 103, just below the Cardinals, but ahead of contenders like the Phillies and Padres. That's average to maybe slightly above average. Far from "terrible".
The reason why many of us are emphasizing Keston's K% is because the name of the game is to make hard contact. Keston's got the "hard" part figured out, but he doesn't make nearly enough contact right now for his stats to hold up over the course of the entire season. What he's doing right now is simply unsustainable in the long run, from his 43.8 K% to his .412 BABIP. The Brewers recognized this and is why they chose to send him down for now. If he maintains his "lower" July K% over the next week or two in AAA and continues to rake, they'll likely have no choice but to call him back up.