If your MAX/300 ratio is below a certain value (~0.6 in a OD7 map, ~0.7 at OD8, ~0.8 at OD9, ~0.9 at OD10), your can be pretty sure that your offset is wrong. Even if it is above that, you can't discard the possibility it is wrong.
Usually, a ratio below 1 means either that you are just mashing with no regard to the notes or rhythm, or your offset is very wrong.
A better way to check your timing is looking at UR and average timing errors. What Unstable Rate and Average Early/Late hits timing you get? (Hover the cursor over the graph on the results screen. ignore the values if you accidentally released a LN early during the play, since that disproportionally affects the values).
If you have a UR that is too high (above 200), that means your hits aren't consistent, so you need to focus in hitting things more accurately. Try playing easier maps with HR mod and try to get at least ~96% accuracy on them.
If your UR is low (~100 or lower), but you still have low accuracy, adjust your offset by about ~1.4x * (avg_late_hits + avg_early_hits). For example, if you have 90 UR, average early hits of -10ms, and average late hits of +5ms, adjust your custom offset for the beatmap by (5-10)*1.4 = -7ms. If you get similar offset values for most maps, change your Universal Offset by the opposite amount (+7ms in the previous example). If your UR is not very low or very high, you can still trying the offset, but the measurements of how much you must change it (or deciding if you must change it at all) aren't as reliable.
If your accuracy isn't affected significantly by changes of offset, it means you rely more on visuals than audio. In that case, changing the hitposition in your skin.ini file of your skin might help.