what replication option should I choose?
As some of your tables don't have a primary key, and I assume they don't have a unique index on them either, you are pretty much hosed.  Anything which will be real time (transactional, merge, or peer to peer) will require either a primary key or that replication put it's own column in place called a rowguid (basically it's own guid column).

Since your schema can't be changed there aren't going to be any replication options which satisfy your requirements.