My development team has worked with subversion for quite some time. The way that manage the trunk and branches is as follows:
We (almost) always release from t
Totally agree with Andy: There's no "one-size fits all solution", but the issue shouldn't be keeping your release branch up to date, rather the other way around.
Good change control should keep your branch from being volatile. Gating issues should be fixed on the release branch and then merged to the trunk immediately. Be ready for this "merge" to be non-trivial, the release gating issue may not even exist on the trunk but you need to do an analysis and test for it anyawy.
It sounds from what you say that you are developing on your branch and then merging all at once to your trunk just before you release and just crossing your fingers. I wonder how many bugs you are introducing by doing this.