Allow the developer to define how the DependencyService will construct a class. This will involve a new Register method being created, and passing through a function, that can create the implementation.
No existing API's will be modified, this will be an additional API.
public static void Register<T>(Func<T> implementation) where T : class
This will still keep the DependencyService class very light, but allow manual constructor injection, so that those developing small apps and don't want to bring in a 3rd party IoC container, but still use Constructor Injection, will be able to do so.
Register<IInterface>(() => new Implementation(DependencyService.Get<IDependency>()));
Register<IInterface>(() => new Implementation(new Dependency()));
For anything more complex, moving to a IoC container with more features, would then be the recommended approach.