If I have the following:
public MyClass(IServiceOne serviceOne, IServiceTwo serviceTwo, IServiceThree serviceThree = null)
this.serviceOne = serviceOne;
this.serviceTwo = serviceTwo;
this.serviceThree = serviceThree ?? new ServiceThree("some-info");
If you don't plan to use constructor injection then you might as well remove it from the constructor arguments list and initialize it manually the way you do it. In other words, just pass two arguments instead of three.
UPDATE: What you could do is to inject
null value. As far as I remember you would have to do something like following:
_kernel.Settings.AllowNullInjection = true;
Then you can remove the binding for the third argument if it exists.