I took the easy way out to expand the SSD disk storage on my MacBook Pro 15" Retina (late 2013). I purchased it with 512GB but in hindsight, I should have purchased it with 1TB. Not finding a consensus on the web whether these newer MacBooks SSD's are upgradable, I decided not to risk it. So I found a reasonably fast external SSD to plug into one of the never used thunderbolt ports (a LaCIE Rugged Thunderbolt 512GB). I currently use it to store large games and backups from my iPhone and iPad (which can be sizeable) but other things such as photos would work too. The main disadvantage of course is that I have to carry around a small external drive should I want to access what's on it. I had to do a bit of basic Unix symbolic linking to point to the external drive. For example, for my iOS backups, in the "~/Library/Application Support/MobileSync" folder, I created a symbolic link "Backup -> /Volumes/LaCie500GB/iOSBackups" - LaCie500GB is the name I assigned to the external drive and iOSBackups is the directory I created there to hold the backups". I did a similar thing for with an applications folder to hold large games; after the game was installed on my onboard SSD, I copied it over to the external drive, deleted it from the onboard, and then created a symbolic link.
If you are not familiar with symbolic links, you can study up on it. The Unix Shell command in question is "ln -s". In the above example, the Unix shell commands looked like:
mkdir /Volumes/LaCie500GB/iOSBackups
ln -s /Volumes/LaCie500GB/iOSBackups ~/Library/Application\ Support/MobileSync/Backup
All that said, I do wish Apple would allow us to upgrade the onboard SSD.