How to make a truly smooth edges on low poly model?
A normal map (baked from a high poly for instance) can solve the issue. So if you were going to use normal maps anyway, the problem will most likely become less prevalant.

Anyway, my process for setting up smooth and hard edges in Blender:

Select all faces and press W and choose Shade Smooth. Then for the edges you want to hard edges: Select those, and Ctrl+E, Mark Sharp. Add an Edge Split modifier. Uncheck 'Edge Angle' and make sure 'Sharp Edges' is checked. 
As far as I know that's all you can do. 

The rest is down to the shader and how it interpolates the normals between two connecting vertices. And the only simple way to take control of those normals is with a normal map.