AFAIK this won't (can't) be supported. There are technical reasons why you can't pass parameters to menus if you require menus to co-exist with each other. For instance, if script A adds "menu @test" to the popup with param "FOO", and script B, which also matches the hotlink, tries to add "menu @test2" with param "BAR", what should $1 be? It also means scripts have to run synchronously, which means /hotlink would *immediately* invoke the popup, which is again problematic when you have to collect popup definitions from multiple events. The design is a product of a compromise on functionality vs elegance.
If you need to pass a parameter to a menu, you should be doing it through a global variable. This is not a workaround, it is the expected solution. "Ugliness" isn't really a significant issue here. In fact, this is how you would otherwise communicate with any other popup, so it's no less elegant than how scripts were previously written.