I co-slept with DS for the first 5.5 months. It was easier, as we had had to start off bf'ing lying down anyway, he had a tonguetie so found it hard to latch any other way and fed for up to 2h at a time until it was separated at ~2w.
DS was never a pukey baby, very rarely even posseted. So no probs there. I had him on a muslin in the bed anyway, just in case he did, then anything went on that, not my sheets. If he poo'd, I'd change him of course, but if he didn't then we just went back to sleep. Initially I tried to wind him, but it used to make him fretful and wakeful, so after a while I stopped bothering and it never caused a problem! Often as not, he'd burp while lying down anyway.
DH slept in the spare room while I co-slept - his choice - so I had the entire bed to cope with small baby. I used pillows on the edges of the bed like bolsters, so he couldn't roll out (he never even got close to them initially, he barely moved) - so going to the loo in the middle of the night wasn't really an issue of safety, I'd just leave him there and go. He never went under the duvet, just under a sheet, with or without blanket, and his own baby blanket.
Once he was in his cot after 5.5m, I used to mostly feed him in his room, sitting in a chair - but as often as not, I would find that I was dozing off and then I would take him back to bed with me, for safety and comfort for both of us.