Когда начинаются такие сложности, важно остановиться и понять, что вы зашли в тупик. Не нужно уподобляться рубистам с их эзотерическим языком, пытающихся упаковать все в однострочники. Мы, слава б-гу, пишем на JS.
Однострочные условия хороши тогда, когда вы проверяете не более 1го, максимум, 2х утверждений, когда if будет избыточен, или когда вам нужно по дефолту присвоить какое-то значение в зависимости от проверки (конструкция вида foo.bar || false). Во всех других случаях необходимо использовать полноценный if, потому что, как вы сами заметили, при необходимости встроить в условие еще одну проверку можно начать "тупить" - сделать это на порядок сложнее.
if(variable && (!secondVariable || !thirdVariable)) {
return 1;
}
return 2;