I've begun work on a replacement for profile.module, which I am tentatively calling profileplus.module
While I considered suggesting at least some of the changes I am making to profile.module itself, I'm concerned that they might add overhead while adding features that many users might not need. And yes, I'm also a little shy about making major changes to core modules, since this will be among my very first Drupal projects.
In a nutshell, I've noticed that a common need for site owners is to be able to add different field types to profile.module easily. Currently, you have to hack the hard-coded field types to do this.
What I wanted was a way to add drop-in extensions (a la Flexinode), that would add new field types to profiles easily.
While working on that project, I realized that it wouldn't be too hard to add a little more functionality - such as field types that don't refer to the built-in profile values field, and which are display-only. Sometimes, you want to have things display in a user's profile, but it doesn't necessarily need to be edited or stored as an actual user variable.
For instance, I wanted an easy way to add lists of "recent nodes by this user" so that they appear in profiles.
Well... I've got that working... but then I decided, it would really be better if some of this stuff appeared in a tabbed interface, so that every displayable profile field thing doesn't appear on the same page. The user/edit pages have a tabbed interface for different sections - I think that profile viewing ought to have the same thing, so that only the necessary information is shown at a time, instead of an enormous page (if you have lots of profile fields).