Каким образом конфигурировать инициализацию Singleton-а?
Не привязываться к singleton-у (то что фактически существует всего один экземпляр не делает класс одиночкой, тем более учитывая что его поведение зависит от параметров конструктора). По-моему, наиболее логичным будет не использовать singleton, а единственный экземпляр этого класса хранить в registry (создание экземпляра будет где-то в коде, зависит от архитектуры вашего приложения).
Тут есть пример синглтона на PHP
    public static function singleton()
    {
        if (!isset(self::$instance)) {
            echo 'Создание нового экземпляра.';
            $className = __CLASS__;
            self::$instance = new $className;
        }
        return self::$instance;
    }

Мне кажется очевидным сделать как-то так
    public static function singleton($params)

Собственно и получится примерно то, что вы и описали.
Мне кажется, это нормально.