regarding #2, we know that's how Unity's FX system behaves, but doing that with popcorn is an order of magnitude more complex if we want to properly handle all the cases induced by having a very flexible system where the user can script whatever he/she likes, including size-related things, make them depend on scene queries, other particles, texture lookups, whatever. It's unfortunately not a simple matter of changing a "scale" value somewhere, and voila.
So for the time being, the safest way was to just let the user actually do what scaling the effect requires, through attributes.
But I totally agree that it's pretty tedious, you'll have to manually scale the spawn positions, the spawn velocities, create an acceleration field to scale gravity as well, scale the sizes, etc..
Another easier way is to scale the end positions and sizes given to the renderers, using a "DrawPosition" field different from the "Position" field used for simulation, and at the end of the evolver stack, just use a script evolver that does "DrawPosition = Position * Scale"
except that it only scales the rendering, not the sim, so if you have collisions enabled or other interactions they'll be done on the unscaled positions.
As for #3, this is not on the public roadmap, but it's being currently worked on, since a couple months now.