How can I shift this signal to it's midpoint in order to decode it
You don't need to remove the DC part of your signal (i.e. "to center" it). In terms of decoding performance, there is no gain. Your signal looks like a typical ASK. Applying a simple integrator and sampling at $t=T$, where $T$ is the pulse duration, would do the job.

You only need to define a threshold, which usually corresponds to $AT/2$, where $A$ is the expected pulse amplitude.

Edit: forgot to mention the fact that you need to determine when to sample the output of the integrator. A symbol-level synchroniser is required for that.