You can generate the transactions directly into your GnuCash XML file via the GnuCash python bindings. You could probably alter your script to directly generate the XML for the transactions into your GnuCash database in this manner. You would then open GnuCash and everything would already be there.
See a simple example which creates some accounts and ...
You can turn off bayesian matching, so you can bypass it like you want to do without messing with the import file.
Go to Edit->Preferances, Online Banking tab, uncheck "Use bayesian matching"
From the gnucash documentation, about half way down this page: http://code.gnucash.org/docs/help/set-prefs.html
What could be happening:
The OFX file being imported could be malformed, and the "bad" transactions are being ignored during import (unlikely if the data is coming directly from your bank and isn't being modified by you after download).
The transactions overlap with other transactions already imported. While this is possible, I don't believe it's how the ...
Unfortunately, most of the banks out there charge a fee for automated downloads of banking data. The only exceptions that I'm aware of are for high-value accounts, i.e. worth $100K+. Even though the list you provided is titled "OFX" (Open format), most of them are implemented as "QFX" (Quicken proprietary). In order for a bank to implement Quicken ...
It looks like you're right, in that the OFX spec doesn't support what you're trying to do, which means that GnuCash probably won't support it.
As a last option, you could build a GnuCash plugin to to this (http://svn.gnucash.org/docs/HEAD/group__Plugins.html), but it doesn't seem like a very easy architecture to get into.