As of right now the only way to modify a subscription after it has begun is to cancel it and create a new one with the new amount. This means asking the customer for their credit card information again as ARB offers no way to store that information.
If you're going to allow users to change their subscriptions at any time you should consider using the CIM API which creates payment profiles so you don't have to ask the user for their credit card information again. Unfortunately CIM doesn't do recurring billing so you will have to manage subscription payments yourself. But it is more flexible then ARB when it comes to anything that isn't a basic subscription.
As far as changing subscription payments mid-cycle, you will need to pro-rate their first payment at the new tier. This can mean using the AIM API to make the difference in payment immediately or adding it to their next subscription payment. If you use ARB you can use a trial payment of one month for the pro-rated amount to make this easy to do).