Both OpenRocket and RockSim are accurate if you put in the correct data. The leading cause of getting inaccurate results is not measuring your parts individually and relying on an inaccurate model for the simulation. The key to accurate results is to input the mass of all your components individually, measuring their position on the rocket, and then inputting into the sim. You can then use a string to find the center of gravity and measure the mass of the rocket together, ensuring that it matches the sim and if not, make sure to adjust accordingly. Another important aspect is looking at the atmospheric conditions you are using in your simulation as it can noticeably affect the outcome. Things such as wind speed, launch angle, atmospheric pressure, etc can change the trajectory of the launch and therefore affect the apogee.
The best idea would be to make the initial simulation in whichever program that you want (I personally use OpenRocket), make sure that it is accurate to the model itself and launch it with an altimeter onboard. You can then use those results to further tune your simulation, I have seen people get within a few dozen feet of the simulation results.