I've spent literally hundrets of splendid hours optimizing the maps (first map :P), killing all the BSP bugs, HOMs, trying to get the framerates up etc.
I was kinda frustrated the more time I spent working on the maps, because nothing seemed to help. Fixing bsp is like a pasting a picture on a piece of
paper with glue: no matter how hard you try, there will always be "air bubbles" between the sheet and the picture, and getting rid of one bubble only
makes two new. I was forced to think beyond the usuall techniques, and although they're not much and a lot of people are probably already using them,
there might be some people that don't. It'd help me a lot to have someone tell me those things, but at least I can try and make someone's nightmare end
faster:

- First off, rebuilding is essential. The oldest rule in the book with killing BSP poblems is to select the "optimal" rebuild in the rebuild menu under
  the BSP, and also try to reduce the "number of cuts" to 10, 5 or even 0. Do make a backup of your map(s) before chaning any rebuilding options.
- Another old rule in the book is to try and substract a cube near an empty place (outside of the world, but as close to the problem as possible) roughly
  as big as the BSP/HOM. I usually optimise my maps when they're finished, so I automatically substract a huge cube to the side of the level (shift the
  entire thing up to a corner as much as possible - but don't exaggerate). I than just substract a cube at least 52100x52100x20480 untis big to the side of
  the level and rebuild the thing. Smaller cubes (even a 32x32x32 cube can do a change) work with areas that can't use big cubes.
- Try adding BlockAll actors instead of invisible collision hulls if posible.
- If you have a bsp bug that doesn't obstructthe player, but prevents him from advancing through the level (e.g. an invisible hole in the ground through
  which you can fall and thus die/get stuck. A standart signature of most of Chicoverde's UT maps :P). Don't try to work too much around that because 
  chances are you won't be very successful at fixing it. Instead, try making the area as flat as possible and add BlockAll actors over the damn thing. This
  will prevent pawns from falling through the ground, tho is dependant on your level's geometry and layout. (NOTE: You can't properly path an area fixed
  fixed this though. There is still a hole in the level and the editor knows it is there, so there won't be any paths leading over the area. It's a quick
  way to fix the a bug, though not the most admirable).
- Lastly, I found this to be one of the most useful tricks, but I find this technique to be hardly used in Unreal/UT. I got the idea from UT200x/U2's static
  meshes. The idea is to convert as much brushes to Movers as possible. There are some issues when using this, so I'll try to explain as much as possible.
  a) The Unreal engine has a limited number of movers that can be used in a level, exceeding this limit will bring bugs, the most annoying is that the 
  majority of the movers won't be rendered. They're there, just not rendered. Don't go overboard with this.
  b) Lightning on movers usually isn't rendered right :P Make backups of the brushes you convert into movers, also try to set the entire brush as 
  "Bright corners".
  c) That's about it :P Make sure you delete the brushes you converted into movers, and make sure you DON'T TRY TO ZoNE A MOVER!!! I've seen this in a map
    I won't name but a Nali house was converted into a mover which was than miserably "zoned" (a zone portal placed over the entrance :P) Royally screwed 
    up the framerate.

Anyway, there's more stuff I can't remember at the moment, but if you have any questions, feel free to mail me.