If you need user profile data, the obvious place to store that is in Craft Users. Add the fields you need etc.
Commerce has a field you can add to a User to show that user's addresses and orders on the back end.
For the front end, you then just make user profile page templates as you need them.
I see no good reason to use Structures,Channels or Singles here really, although I guess it depends on what other content you might want to have on those pages. For the most part you're probably either just looping over the addresses and orders, or showing a single entry page for one of those.
Of course Craft is so flexible, you could use a structure for some of it, if you have fuller content needs, and then dynamic templates for those more transactional pages...there's an almost limiteless variety of ways you could do it, but user fields plus some templates for those sorts of pages would be the 'most standard' approach.....certainly it's what we're using.