Assigning and un-assigning seats is weekly task as we have product and dev members joining and leaving.
Upgrade subscription is quarterly or longer term task as it depends on budget. In my opinion the first task should not require billing permission.
It will be hard to manage if the persons who assign seats is allowed to upgrade subscription whenever running out of seats.
Thank you for your idea. It is currently possible for Product owners to assign paid seats from the Product -> Users page. This is, of course, within the limit of the total paid seats on the account. So if there are no paid seats available, they will not be able to assign one. They can also change a user from a Contributor/Product owner to a reviewer or viewer.