We address the problem of estimating the inputs of a dynamical system from measurements of the system's outputs. To this end, we introduce a novel estimation algorithm that explicitly trades off bias and variance to optimally reduce the overall estimation error. This optimal trade-off is done efficiently and adaptively in every time step. Experimentally, we show that our method often produces estimates with substantially lower error compared to the state-of-the-art. Finally, we consider the more complex Learning-from-Observations framework, where an agent should learn a controller from the outputs of an expert's demonstration. We incorporate our estimation algorithm as a building block inside this framework and show that it enables learning controllers successfully.