Ok, as far as I know, the best system currently available for what you are trying to accomplish is the BV system. It utilizes the air from an HPA-CO2 tank to load the bb behind an o-ring. It only fires once enough air has built up behind the bb to force it past the o-ring. As such, FPS can be adjusted in accordance with ROF via the PSI, and independent of ROF by changing the size and hardness of the o-ring. The only detriment is that it is very very hard to get that system firing semi-automatic. Asahi did it in their FNC I believe by limiting the loading of bbs.
The best theoretical system would be one where there is some kind of obstruction in front of the hop-up unit. The bb loads into the hop-up and the loading port gets sealed, it would need to load from the bottom, the hop-up unit is permanently attached to the cylinder. Once the bb is loaded the cylinder fills to a predetermined pressure. All the trigger pull does is cause the obstruction at the muzzle end of the hop-up to be removed, everything else is after the trigger pull.