I guess I would have to ask just how often is this really an issue? Once I got over the shock of having the language automatically adjust to the context, it looked like merely a convenience to me. In other words, when I write a function, I usually know whether I want the result as a scalar or an array.
Of course, if the function is for "public" consumption, the return type should be specified in the documentation as well as in the comments preceeding the function.
So far as "standardizing" goes, I think I agree with those who don't standardize. So long as the function is documented properly, why not write in whatever manner best fits its purpose?