Ваш вариант с двумя переменными по-моему единственно возможный.
Но для хранения в SSI переменных больших кусков текста нужно воспользоваться недокументированной директивой ssi_value_length, которая по умолчанию равна 256 байтам и этого скорее всего не хватает для хранения вашего html-кода (об этом должны быть сообщения в error-логе):
location /random/ {
...
ssi_value_length 32k;
}