It's far from the most elegant thing I've done, but it'll work for now.
The seed of the idea comes from this blog entry.
To make it work, I used a Content Editor webpart containing this jQuery snippet:
<script type="text/javascript">
$(document).ready(function(index){
$("[text*='My Custom Action Text']").each(function() {
$(this).attr('disabled', true);
$(this).attr('onmenuclick', '');
})
});
</script>
In an IE-exclusive environment, the .disabled setting is sufficient to do exactly what's required. But it looks like the .disabled attribute isn't in the Firefox object model, so if it's necessary to make it function in the Firefox world, you also need the .onmenuclick line.
Firefox still doesn't grey out the item, but it renders the action null.