is there any way to disable completely edit subscription by user on Customer Portal? But complete cancellation remain available.
Assuming subscription change requires complex setup/configuration and can be done only on merchant web-site.
If you'd like to restrict customers from editing the subscription on the portal, you could disable the option - "Allow users to change subscription" option under Settings > Hosted Page Settings > Customer Portal - Allowed Actions in the web interface.
Here's a screenshot for your reference: