Based on your current usage, I'd agree that 256 GB will probably be enough. "How much do I need?" always ties into "How much can I afford?" Since SSD is roughly four times the cost of HDD, cost becomes a larger factor in that decision.
Traditionally, the rule of thumb has been, "the new computer's HDD should be double the current computer's HDD." This rule was developed back in the Dark Ages of MS DOS and the transition from MS DOS to Windows. Apps and OSes were getting larger, seemingly by the minute, as new functions and capabilities were being added. The situation has dramatically stabilized since then. If, over the course of 10 years or more, you've managed to accumulate 125 GB of OS, apps, and data, it's highly unlikely you'll accumulate another 125 GB over the course of the next 4-5 years. And if it happens that you do, there are any number of ways to manage the situation.
So, if you budget 15% for overhead (split the difference on that 10-20% rule of thumb), On a 256 GB SSD, you'd have:
125 GB for existing OS, apps, and data, 38.4 GB for overhead... 92.6 GB remains for new apps, data, etc. At Apple's current price for 200 GB of iCloud storage ($3.99/mo. - approx. $0.02/GB) and their current price for SSD ($250 for 256 GB - approx. $1.00/GB) - we're talking about a break-even point of about 4 years. So, does it make a lot of sense to buy a 512 GB SSD if chances are small that the extra 256 GB will actually be used?
You can stop reading here if you wish, as everything that follows is simply rationalizations and observations...
One of the reasons we get over-sized HDDs is that it simplifies our lives - it seems neat and convenient to have all our files in one place/on one drive, and if we have enough empty space, we may never have to spend time cleaning house. If we can't afford the luxury of "excessive" empty space, then perhaps we have to do a bit more work over the course of time.
I'm not sure why SSD would need substantially less or more "headroom" (10-20% free space by most folks' rules of thumb) than HDDs. Part of that free space exists to ensure that there'll be room for caches, which shrink and grow based on the work you're doing. Caching requirements would be the same for HDD and SSD. Part of the headroom is there to help us avoid "disk full" issues while we're in the midst of a project, especially if we're working with large files. Again, no difference there between HDD and SSD.
And part of the overhead is there to help avoid file fragmentation. There's plenty to be read about fragmentation if you search the web (don't pay attention to articles that discuss Windows, limit yourself to OS X, as the Mac HFS Plus file system is designed to minimize fragmentation). Even if fragmentation was a problem (which for the most part, it is not), SSDs eliminate much of the negative impact of fragmentation - unlike an HDD, there is no speed penalty paid when reading a fragmented file from an SSD.
File fragmentation also goes contrary to some folks' notions of tidiness. All I can say to them is that our conventional notions of tidiness can be inefficient when applied to data storage. Why should it matter where a particular bit of a file happens to be, so long as the file system knows how to find it? Wouldn't it be absurd to think, "All memories of my parents should be stored in contiguous synapses, I have to rearrange things?"