MISO and MOSI were idling around 1.5v instead of 3.3 so I added a 10k pull up, and that helped a bit, but as you can see, it's still not good. It idles around 2.8v now, but when there is a single it gets up to 3.3v and then freaks out a bit. This allows the device to initialize about half of the time but not run. It's most likely to work a little bit after a full power cycle. I checked multiple pies and multiple spi devices. Aside from the pullup, miso and mosi are hooked up directly. What is the suggested remedy?
The schematic helps. It appears you have two outputs connected together. That would place the voltage at about 50% of VCC where you are at. Try swapping HSP_MISO and HSPI_MOSI and see if that helps. The inputs could also float mid supply. Since you have a scope check if the clock is stable and swing the correct amount. If your scope has two channels connect one to the CLK the other to MOSI and see if your data appears correct. If you only have a single trace use 10K resistors to each of the pins then join the other ends and connect to the scope. You will get a clock pulse in the middle or end of the data depending on how it is set up. It is possible you have a bad chip but I doubt it.