Type determined return values
More of a golf question than a CodeReview question really,

I would first consider

return (c
  ? someFunc.apply(this, arguments) || undefined
  : undefined) 


The interesting part is that if otherFunc is not a function, then you would have executed it as a function anyway.. 
Furthemore,


I like better someFunc instanceof Function than typeof someFunc === "function"
For something this fancy I would go for the Spartan f
I tend to avoid void except for bookmarklets


so perhaps something like this:

//Unless f is a function and returns a non false value, return undefined
return (f instanceof Function ? f.apply(this, arguments) : undefined ) 
       || alternativeFunction.apply(this,arguments );