An alternate way to write that for a regular singleton would be something like this
bind(SomeClass.class).toProvider(SomeClassProvider.class).in(Singleton.class);
If you do it that way, you don't need to have the instance available at the time of the binding, which while fine for a Singleton, obviously won't work for a ContextSingleton since there's no context yet.
You can use the same kind of binding for a ContextSingleton:
bind(SomeClass.class).toProvider(SomeClassProvider.class).in(ContextSingleton.class);
Now, all the instances of SomeClass that RoboGuice injects for you will be properly scoped, whether Singleton or ContextSingleton.