You could just pass a default blank string to it.
<a href="{{path(desc.bundle ~ '_' ~ action ~ desc.params|default(''))}}">
This way if its not defined its just an empty string. You can read more about the default filter here: http://twig.sensiolabs.org/doc/filters/default.html