the response should be appropriate to the request.
if you wish to expose the directory to requests, you should either specify a default directory index document or configure the server to auto-generate a directory listing.
if the default directory index document doesn't exist in a specific directory only you can say whether the correct response to that request should be 403/Forbidden, 404/Not Found or 410/Gone (or 200/OK with the auto-index).
if the requested directory actually exists and is used in a valid url structure i would suggest 403 is probably the proper response for that request.
for example, you may serve all your images as /image/example.png
however you don't have a default directory index document in /images/ nor are you interested in exposing the complete list of image files in that directory.
403 is the best response for that request.
In the case of robots, they had no business asking for the page in the first place. It may have been part of a mechanical search: that is, if there is an a/b/c/d/e/index.html they may automatically ask for a/b/c/d/, a/b/c/ and so on.
i would argue that a directory structure in a url should, in the name of url discovery, be hackable by any visitor whether human or bot.
if your architecture does not support requests for content in /a/b/c/d/ or /a/b/c/ then i would also argue that you are probably keyword-stuffing your url path.
I have a couple of directories whose front page happens not to be named index.html.
a request for a directory should end in a trailing slash or be 301 redirected to the trailing-slash url.
otherwise it is simply a request for a resource (file) within that url path (directory).
you are actually describing a directory without an index.