If I've got enough soil layers, and not so many ponds digging themselves into that, I tend to make at least one underground array of fields as well as the area I enclose at ground level. Animals seem to live Ok in them (once the subterranean plants grow) and as long as I keep an eye on both them and the overground pastures (usually 10x10 blocks, with no more than a couple of same-species adult creatures on them, plus their immature young... and that's really only for aesthetic/organisational purposes) and rotate the worst eaters into ungrazed pastures (in my current fort, that's the Yaks and Water Buffalos, with reindee, llamas, alpacas and goats seeming to be very sparing in their grazing, maybe it works on creature size) before they start to quarrel.
However, the original question was about a grazer that refused to eat. I had one which I accidentally assigned to a too-small strip of farmland, the first time I played on a version with grazing behaviours, and even when I spotted he was starving and relocated him to another pasture, he seemingly refused to eat and died. I was fairly new to the idea, so maybe I was assigning him to an over-grazed plot where he never quite got to the few patches of grass.
So.... if you've had a starving creature who expired despite access (possibly sole, maybe he wasn't competitive enough with other creatures if he was sharing), that might be a problem I had, but I'm not too sure. I've not had the problem since and have tended to managed it better since then.
And ISTR I also had difficulty butchering the corpse. Did all the usual things, by getting the corpse assigned to a stockpile very close to the butchers shop, etc, but I can't remember that ever being resolved. But I'd need to dig up that old fort to make sure.