Я не борюсь с ней, я ей наслаждаюсь. Во-первых, у меня крайне редко в переменной бывает несколько типов - если переменная, допустим, строковая, то строковой она и будет. Если же в переменной число, то оно и будет числом, плюс я проведу проверку перед использованием на корректность числа. А во-вторых, всего-то нужно знать базовые правила приведения типов, которые очень простые и понятные в JS. Хотите верьте, хотите нет, но у меня последняя ошибка, связанная со слабой типизацией, была года три назад, если не раньше.