We have a 12 month old pup and he does exactly the same. We've just put a throw over that bit of the furniture so it doesn't get too grubby. As for that cushion sinking, we just leave it as it is unless we have guests, then we remove the throw and plump up the cushion and it looks just like the rest of the sofas/chair.
Maxi is a dog, it's what dogs do. Our pup has given us so much pleasure I really don't mind how much he squashes the back cushions, he's happy and so are we.