Как решить эту проблему с if/else?
В localStorage хранятся только строки. Если вы делаете так  localStorage.setItem('token', false), то при localStorage.getItem('token') вы получаете не '', а результат приведения false к строке, т.е. 'false'.
Впрочем false !== '' - тоже истина, потому что !== сравнение без приведения типов.
Насколько я понял ваш код, вам нужно просто
if (getToken) {
 // ...