I think Joyce is right to say that we can't make any sense of categorical imperatives. But Joyce's solution - going on acting as if there were categorical imperatives - doesn't seem either desirable or possible.
Why not take a step backwards, and admit that morality is really an institution that we can choose to opt in to or out of? That is, we admit that "ought" statements have an implied "if," of the general form "You ought to do X if you want to abide by morality system Y." (Here I'm stealing a page from the end-relational theory of ought that Garren's been writing about over at Words, Ideas, and Things.)
But why opt in to a moral system? We recognize that there are benefits to opting in (e.g. the moral approval of others) and undesirable consequences of opting out (moral condemnation, punishment). Furthermore, we can never know all the consequences of our actions, so we need guidelines and principles by which to make choices in an uncertain world. A moral system gives us a set of guidelines for how to behave in social settings. We can recognize that abiding by a moral code doesn't always result in the ideally rational result, and still choose to abide by that code, because we hope it will yield a better result in the long term than will failing to abide by the code.
So it seems we can make a choice, based purely on practical rationality, to opt in to a moral system because it will in general be to our benefit to do so. This is basically what Joyce said about adopting a fictionalist attitude - but without requiring the doublethink of Joyce's approach.
What I like about this approach is that it takes us away from throwing slogans at those with whom we have moral disagreements - "Abortion is murder!" "Respect the rights of the mother!" - and instead focuses us on the goals the competing principles are intended to bring about. Maybe we can't agree on whether abortion is morally permissible, maybe we can't even agree on the principles by which to decide moral questions, but we can still try to find agreement on certain goals: fewer unwanted children? less sex outside of marriage?
Earlier I said I thought moral systems are a sort of instinctive legal system. We all accept (AFAIK) that legal systems are institutions. We don't expect all countries to have the same laws, and while we might think some country's laws are bad laws, we still accept that we are subject to those laws when in that country. Of course, some people choose to opt out of the system: break the laws. And then they are subject to the prescribed penalties.
Why can't we treat morality the same way? Why not recognize that different social groups have different moral systems? And that when one is engaging with such a group one might wish to abide by their moral system - or not, and pay the penalty.
Of course, this approach leads us smack into the question, "But then how can you condemn Hitler?" I'll try to address this in a future post.