How to decide power of independent variables in case of non-linear polynomial regression?
If all you care about is the quality of predictions (as opposed to explanatory power), skip linear models altogether and use gradient boosted trees instead. Gradient boosting can generally learn polynomial splines with ease, and you don't have to manually make a bunch of polynomial predictors yourself. 

By the way, gradient boosting is implemented in Python's scikit-learn library, R's caret library, and Java/Scala's Weka library.