I can't run opengl 3.3 programs despite my graphics card supporting it, for example the tutorials from arcsynthesis.org/gltut crash on startup. I believe it may have something to do with my hybrid graphics card setup (intel hd 4000 + nvidia gtx 660m). I am running it with optirun, so it uses my dedicated card):

mcjohnalds, I had same problems on Ubuntu 13.10 with Bumblebee and Nvidia drivers, I do not know why, but it always fails to create OpenGL 3.3 Core Profile contexts. I had'nt a time to resolve a problem so I installed Ubuntu 12.04.4.
On Ubuntu 12.04.4 it works without problems.

If you print the result of glGetString(GL_RENDERER) in your app, do you get the nvidia or MESA driver?

Recent versions of Bumblebee removed support for GLX_ARB_create_context. However, you can still create an old style context, and it will return the compatibility profile for the max version. I use something like this: