Swapping batteries is often suggested, but rarely actually used in practice due to a wide range of logistical issues like thermal management, cost, etc.
Humanoid robots are often suggested, but rarely actually used in practice due to a wide range of issues. When they come to market, they will bring with them new technologies, like power management, humanoid robots, etc.