Curved surfaces looking odd and Blocky with Subdivision I did my first attempt to model a shoe sole but I think I did some mistakes and I can't understand how to proceed.
Basically I found two problems:

I don't understand how to solve the bigger topology problems

I used edge crease to sharp edges because I can't understand how to add supporting loops without interfering with the main shape of which I'm satisfied.


I tried to absorb the number of loops to not modify the side curvature of the sole but this is the result:


If I add a loop for each detail the side shape change:

Not too many loops




Too many loops



The link to download the file is here
let me start by saying this is two question but anyway.
First things first... vertex pole count matters!

subdividing a model with different pole counts will give you different loop flow.


so the deformations you see is mostly because of how algorithm predicts how to smooth your flow. so if you want smooth surface, apart from some shrink-wrap work arounds, you need to keep your flow as clean as possible.
And on the blocky subject, as long as your flow is smooth, your result of subdivid will be smooth too. like this example with perfect flow of circle subdivided

for fixing this I recommend loop tools addon that is inside blender and you just need to enable it. it has an option for smoothing your edge flow called relax.