url = Addressable::URI.parse("https://my.url?with=a&lot=of¶meters")
Как получить базовый URL-адрес без ЛЮБОГО параметра запроса, не зная, какие параметры и сколько их?
Я не могу сделать url.query_values = {}, потому что в какой-то момент мне также нужен исходный URL.

Что вы хотите, так это использовать omit:
Addressable::URI#omit(*components) ⇒ Addressable::URIOmits components from a URI.
url = Addressable::URI.parse('https://sub.example.com/path/to/foo?x=1&y=2#hash')
url.omit(:query).to_s
# =>
"https://sub.example.com/path/to/foo#hash"
Если вам также не нужен хэш или другие компоненты, передайте их также omit:
url.omit(:query, :hash)