I'm not familiar with the management interfaces of any of these products, but the "RAID stuff across multiple different size drives" phrase caught my eye. My understanding, from a friend who uses a Drobo NAS, is that most of them limit the RAID capacity to multiples of the smallest drive currently installed.
So when upgrading, by installing larger drives in place of smaller ones, the new larger capacities don't normally become available for use until all drives are upgraded. Then the management software simply does an on-the-fly "filesystem resize" (standard Linux feature) to add the extra capacity into the pool.
The Drobo (and the expandable RAID setups on other systems) do RAID across drive partitions. If you add/replace a new larger disk, the extra space sits there going to waste initially. But if you add/replace two disks with larger capacities, it will create a second RAID across the leftover space, and usually use LVM or similar to add it into the overall storage pool.
The Drobo's have a bad habit of never reoptimizing, so after many drive swapouts and upgrades, the units can become very slow. I believe the ReadyNAS XRaid, and similar tech from other providers is a little better about this, but I'm not certain of the details under the hood.
The EVA rack sized storage boxes I worked with at HP would use idle time to reoptimize the data. Both for performance, and for maximum redundancy, factoring in the physical layout of the independent disk shelves, and even different racks.