Why don't you like "senseless functions"? Either way, it must take a row in the tree view, and either way, it will not affect the generated code, and either way it will show whatever comment you want for the block. I think you could even put "CommentBlock" (or whatever you want) as the name of the rule function to call to indicate that this rule is just a block header.
But I should also point out, the rule system is intended to be a very high level designer that chooses which behaviors a sprite or plan will use, not define every detail. So if you are getting too many rules to manage, I think it's an indication that you should move the code into a custom object or add some code to SpriteBase.cs to simplify the rule definitions for the sprite. My original thought was that a sprite could maybe even have just a single rule like this:
FollowFloor
Then all the details of that behavior would be in code. But I decided to not be quite so high-level because you should be able to customize it a little. Is there any way you can simplify the rules that define your sprite's behavior by moving more into the source code? (You remember that you can just copy the code generated by compiling the project into a function, right?)