Using either <p>, <br /> or <div> is not a structural solution to this problem.
You can more or less avoid <p> tags by using the <br /> option, but then you should try making a bulleted list, very funny, one problem gone, next problem created.
A structural solution should offer a way of avoiding any tags whatsoever.
So perhaps you can make it optional in the custom editor options, so people can set it for the instance, the module, or the portal.
This would be a very welcome thing if you ask me.
While we're at it, some more things which would be great:
- add an option to limit the text input to a certain number of characters, some people like to use a varchar(8000) field
- add an option to check for xhtml, or filter the text, so it saves only xhtml. Some people copy and paste stuff from other websites, so I would like it to be saved in xhtml.