Visual decision I made in the end:
From the programming point of view, the standard context menu can be overriden. It will only be used if left empty, otherwise, the context menu that you explicitly specified will be used.
In addition to that, I will make customizeGridView the method of the IGridView interface, so it will be overridable too. (customizeGridView is called by the command bound to the "Select Columns..." menu item).
I feel that this gives a developer enough freedom and in the same time, if you don't do anything, it all just works.