Ripple doesn't know anything about the bitcoin block chain and transactions therein.
This means, you will always have to use a gateway or service of some sorts, as there is no way in Ripple or Bitcoin to create a transaction that relies on a certain external event without trusting an oracle to track this event or using a conversion service.
If I understand you correctly, you have e.g. 1 BTC in a Bitcoin address that you control and 0 BTC (just some XRP) in your Ripple account. You want to end up with 1 BTC.Bitstamp in your Ripple account and 0 BTC in your Bitcoin address. You do however trust Bitstamp that they are honest people and if you send them your 1 BTC IOU, they will then send 1 BTC on the Bitcoin network to an address of your choosing. Also, if you send them 1 BTC, they would credit you 1 BTC.Bitstamp.
In this case (you trust Bitstamp + have 1 BTC) you don't need a third party, all you need to do is to deposit your BTC in the Bitcoin network to Bitstamp and withdraw it from there to your Ripple account. And if you don't trust Bitstamp anyways, why would you use their IOUs?
In the more abstract case (e.g. you want Bitstamp USD and Bitstamp does not offer any Bitcoin trading/deposits at all) you would need at least oracles that track the Ripple ledger/Bitcoin block chain + probably also something along the lines of the NashX idea where you risk more by being fraudulent than staying honest. I'd still recommend in this case to find a gateway you trust, get some BTC IOUs from them and trade them for whatever other IOU you want to have. You counterparty can facilitate this by offering a direct path to the IOU of your choice, in case there is none or only bad ones so far.
Trading Cross-Chain doesn't even really work with Altcoins so far, and these are not even IOUs (IOUs make it actually easier to trade, as you can see above) and based on Bitcoin code. I'm not sure if atomic trading between chains/currencies and even for IOUs is very desirable, it seems so simple at the first glance but as soon as you think about race conditions, you run into a lot of things that can go wrong and that seem to be very hard to solve just algorithmically.
Maybe try OpenTransactions and building a way in there to represent not only (colored) Bitcoins but also Ripple IOUs, then it might work that both partners create OT blinded tokens and exchange + redeem them atomically.
To get straight to the point: does Ripple support anything like multi-sig or conditional transfers?