I did it! I defeated! It turns out that what finally got me over that hump was the realization that I was being too quick with the ripostes. Throughout the entire game, I'd been parrying and riposting as almost one super fast motion (acting under the assumption that it worked like a fighting game where I'd only have like a 5 frame window). When the parry was successful, the riposte worked great. But if the timing on the parry was off, I'd already hit the attack button, so my character would start to swing as soon as his parry animation finished. Normally that wasn't much of a problem, because I could kill stuff quickly enough that I could survive if I just followed the first accidental swing with a few more attacks. But with Gwyn, what would happen is I would fuck up parrying his first attack of his 4 hit combo. By the time he started his second attack, my character was already committed to a lengthy greatsword/ultra greatsword/great axe attack animation that left me completely defenseless against Gwyn's second hit. And his third. And his fourth. And then I'd probably be staggered (or at least panicking) from taking all 4 hits head on, leaving me unable to get out of the way of his grab.
Moral of the story: Wait until you know the parry has worked before hitting the attack button. It's better to be too slow and land a normal hit instead of a riposte than it is to be too fast and commit to a reckless attack.
Although I have to say, I guess I wasn't paying enough attention to the story for the ending to make any sense at all. But whatever. Praise the sun.