Can you please tell us more about your problem / application?
There are a few ways you can use manopt to handle nonsmooth cost functions:
1) smooth the cost function (e.g., max(0, 1-x) is approximately mu*log(1 + exp((1-x)/mu)). You can replace the nonsmooth function with this one and some value of mu that doesn't smooth too strongly. Optimize. Now, using that answer, strengthen smoothing by changing mu and reoptimize, using your previous output as initialization. Iterate a few times.
2) lookup MADMM by Kovnatsky and Bronstrein
3) implement a nonsmooth solver: the core of manopt is ready for this, as it allows you to specify the subgradient of a cost function (see tutorial). In my experience, nonsmooth solvers are subtle to implement (we had a couple attempts but nothing solid enough for release in the toolbox). But I'm convinced it's possible to write something good here.
Best,
Nicolas
I don't know what happens in these papers you refer to, but perhaps they just use the fact that the function is smooth almost everywhere, so that the gradient is defined almost everywhere. (That doesn't necessarily make it safe to use, and at a minimum one should adapt the stopping criterion since the gradient may not be zero (or defined) at a minimum.)