I have been trying to use rectangles just to tidy up groups of visualizations. I know how to send the rectangle to the back so that the visualizations can be clicked. However, so far in Desktop, Service, and Publish to Web I have seen the same problem, that in any place where the visualization does not cover the rectangle, clicking on the uncovered part of the rectangle moves it in front of the visualizations making them unavailable to interact with, or hidden. That is beyond annoying for an end user.
Is there a solution, or should I just not be using shapes this way?
Yeah, that can be annoying. Not sure I have a solution for you but I have seen the same thing. Perhaps submit an Idea that similar to how you can Edit Interactions, perhaps you could have a setting for visualizations that when in "Read" mode, you can set certain visuals to not be selectable?
other solution: Create a rectangle shape. Place a chart in front of the rectangle shape (move rectangle shape to background layer). Create an empty text area. Move text area in front over the rectangle. Adjust the size of the text area where the chart does not cover your rectangle. If you are uploading your report to powerbi online, and clicking to a part of the rectangle which is not covered by your chart but by the text area, the rectangle does not move to front.
Its a simple hack till powerbi developer will fix the bug.