Without a generic, you can't guarantee that the type has a parameterless constructor, but you can search for one using reflection:
public static object GetDefaultValue(Type type)
{
ConstructorInfo ci = type.GetConstructor( new Type[] {} );
return ci.Invoke( new object[] {} );
}
I tried this in a console app, and it returns a "default" instance of the class — assuming it's a class. If you need it to work for reference types as well, you'll need an additional technique.