Right way of data organasing and structuring
If your categories are pre-defined and won't change then I think your solution of using blocks regions and block visibility settings may be the best. If you need more complex visibility settings the Context module should be able to help.