I am quite sure that my proposal complies with rfc3986 just fine.
Moreover, I do not really care if / or : or | or some other separator is used in URI. My proposal is all about simplicity and placing important things where human can easily see and comprehend it. It is also about getting rid of named & variables nonsense.
Though, apparently this stuff is up to software developer to chose and implement. Pray that Luke-jr does not get to implementing URI hooks or you will all be converting to tonal before long.
Sections 3 and 3.2 of rfc3986 strongly suggest '//' be reserved for introducing an Authority "so that governance of the name space defined by the remainder of the URI is delegated to that authority" and even says "When authority is not present, the path cannot begin with two slash characters ("//")." Applied to your proposal, that makes the amount or the receiver the Authority.
Putting the important things first is good, it just needs different separators. Also, maybe 'bitcoin:' should just be an address indicator.
To trigger a full transaction, we could also think bigger. Why not a 'payto:' URI that works first and best for bitcoin transactions because they're so easy to represent online but could also subsume other currencies and destinations? For example..
payto:0.02btc|bitcoin:19bF4Xq2bJwVKzGmbq5pxmkgYkE1KnXngp#bitcoin+RFC+donation+to+vladimir
payto:24.99usd|https://paypal.com/user/exampleman#payment+for+1btc