Mechas will always remain SF. There's just so much that's impractical about them, where do you even begin. Balance is one issue: if you can make it fall over, you've killed it. Speed is another; anything that big will be extremely slow. Another issue is the ground pressure (weight divided by surface area of feet); they would destroy most surfaces (including all roads), and they would easily get stuck this way. Another issue is the huge amounts of fuel and frequent refueligs it would need. Another is the huge cost, which coupled with sluggishness and corresponding permanent proximity to the battlefront makes them a prime target for infiltration and sabotage.
Even something as comparatively small and practical as the Boston Dynamics robots have failed to gain traction; years after even being in actual service for testing with the military, LS3 has been literally shelved because it's just not useful.
One of the funniest battle mecha scenes is from Pacific Rim (which is chock-full of stupidity) where the one mecha is just a crappy missile delivery system. Once it's waded half way out to sea and spent its missiles in about two seconds, it's bloody useless. Why didn't they rather spend the cash on other, more sensible launch platforms that could deliver orders of magnitude more firepower using the same kind of missiles? Or why not just attack the alien things much further away from shore with torpedoes launched from fighter jets? Or why not just launch nuclear-tipped torpedoes down the portal hole? (Well, it would be a boring movie, that's why.)