Boy, I can understand your frustration. Sleepy babies make for unhappy babies. Have you had any luck extending his naps? What is his temperment? Have you ever lengthened his morning A time just to see how he handled it? While most babies have their shortest A time before the first nap, I've known several to have up to 3.5 hrs. I'm not saying you'd want to rush into that, but often a short nap at his age suggests he's not tired. Of course, if he's always done this his clock may be stuck on it. Next, I would set the afternoon nap to 2 pm and try not to budge off of it much. I say this b/c my dd always sleeps longer in the pm if she's had a bad am nap. I will feel terribly if that backfires on you, but I think it's worth a try. Hopefully, if he sleeps longer then, you'll have a more happy baby in the evening. What if you offered a snack at 4 pm, then dinner around 5-5:30? Sometimes a meal to break up the A time helps baby make it through the evening. Then you could try for the bottle around 6:30, then bed.
Let me know if you think any of this will help. If not, we'll try something else.